Commit graph

21 commits

Author SHA1 Message Date
Marty Oehme e92e7e5b1c
vifm: Change default image opener to timg
Changed opening images by default to do so on the commandline itself,
using timg.
Other openers can still be invoked through the `:file` command like
before.
2022-11-25 17:02:49 +01:00
Marty Oehme a53dd6d617
vifm: Make visidata/xsv default csv opener viewer
Make visidata the default program used to open csv files,
and xsv the default previewer since it displays it in nicer columns than
just the default viewer.
2022-06-12 16:03:38 +02:00
Marty Oehme 4abfc41ca2
vifm: Extend nsxiv thumbnailer
Now works recursively, only looks for fitting format extensions and can
display video thumbnails as well.

All options are documented in `-h` help display - `-r` enables recursive
lookup for directory current file is in, `-m` enables displaying video
thumbnails (takes a little longer to load) and `-t` starts nsxiv in
thumbnail mode.
2022-05-01 18:48:09 +02:00
Marty Oehme 89c028c8d6
vifm: Add nsxiv as thumbnail previewer
Use <leader>t to start up nsxiv in thumbnail mode where it displays the
contents of the current directory.
You can do whatever you want with nsxiv, enlarge files with <Enter>,
flip them with | or - or delete them with D - the full bandwidth of
nsxiv is available.

If you mark pictures with m (or M) before exiting vifm will build a
custom filtered view containing only those files ready for further
filesystem operations with vifm.

Closes #11.

Also adds another layer of file previewer. If none of the other previewers
match (e.g. pdftotext for pdf, pandoc for docx, exa for directories, etc),
this viewer will be used and display the first couple hundred lines of a
file.

Essentially it means that unknown text files will be displayed using
this, but also binary files for which it displays the hexdump
automatically.
2022-05-01 01:20:12 +02:00
Marty Oehme 94cd954df9
sh: Reintegrate clip script
Brought back an old universal clipping script and updated it to work
better - well, at all. Can now decide between wl-copy, xclip and xsel
and will do so in that order.
Can take clipping material from the following arguments (will clip any
and all following arguments) or from stdin. Stdin has precedence.
Not much more to say really, but makes writing other applications a bit
more universal when they rely on this universal little tool.
2022-02-11 21:32:16 +01:00
Marty Oehme 6fabac6cd8
kitty: Switch to kitty terminal emulator
Finally made the switch from alacritty to kitty. I have been thinking
about this for a while. Both, fundamentally, serve my purposes just
fine. Both are fast, customizable, gpu accelerated, and so on.
Kitty feels a little faster on the input, but this should not provide
major differences.

One big difference, however, is now very apparent and I can feel it:
Alacritty, on wayland, does not support any picture preview. It does not
support sixel, and things like w3mimg or ueberzug are based on and
require X11 to run.
Kitty brings its own graphics display library and it seems both pretty
stable and fast.
I have not done much more with it than use it in things like vifm image
previews but it should be much more stable than things like ueberzug,
much faster than things like sixel. Time will tell.

Switched other modules to make use of kitty instead of alacritty:
vifm uses kitty previews,
river spawns kitty instances,
systemd units use kitty instances,
waybar presents extra mouse-click interactions through kitty,
and styler contains a processor to style kitty permanently.

I would love to converge this all a bit more on the `$TERMINAL` env var,
but this is unfortunately difficult for things like systemd and waybar.
For waybar I currently see no real way except for a custom
`ideal-terminal` script which just goes down the list of terminal
emulators I want to run, depending on which is installed,
since it does not read env vars,
while for systemd it might be feasible to import user environment
variables,
but also connected to additional complexity and overhead which it does
not seem worth for the currently two simple service units it affects.

Also removed some obsolete sxhkd and sh settings from the move to
wayland.
2022-01-16 15:18:07 +01:00
Marty Oehme 6ac552d3d5
Switch to wayland
Added a simple wayland configuration.
Currently set up simple wayland configuration based on river window
manager and waybar.
Rivercarro is the layout manager, being the same in principle as rivertile,
the default layout manager for river, only it comes with smart gaps
(gaps turn off if there is only one window open)
and monocle mode (give one window all space).

Runs `keyd` in the background to replace the old `xcape` capslock switching
(capslock is escape and if held control).
Uses `swaybg` to set a wallpaper.

Added powermenu and lockscreen scripts.
Improved lockscreen script to detect and work for wayland.
Moved old rofi mode 'powermenu' to more general powermenu script,
which works with any rofi-like selector (dmenu, bemenu, wofi, etc.)
Loses some of its design quality but since it was wonky anyway,
and I rarely see the menu,
we could repurpose its functionality for a more general powermenu
concept.
Currently hardcoded for `bemenu` but can be easily swapped and possibly
even extended back to rofi.
Fixed file upload link sharing to clipboard.

Updated rofi-pass to pass-pick.
Made rofi-pass universal and less integrated to rofi - that's also the
reason for the name change.
`pass-pick` works with rofi (default), bemenu or dmenu. In theory it
should also work with any other picker that contains a stdin listing
function similar to dmenu.
It has been definitely tested both on rofi and bemenu.
The best user experience still reigns on rofi, where available keys are
displayed on the picker and the keys themselves make the most sense.
But all functions can be reached from bemenu as well, though the key
mappings are more arbitrary and can not be changed as in rofi.
The autofilling tool works with both xdotool and ydotool, so should work
both on X11 and on Wayland. Ydotool ideally requires its daemon to be
running, otherwise some of the typing may get gut off. Otherwise no
change should be necessary.

Updated qutebrowser open_download for bemenu.
Updated download opening script to work with both rofi and bemenu.
Prefers original rofi implementation but works with both, and can be set
to use a custom dmenu-like file picker as well.

Add brightnessctl and removed custom audio / brightness scripts since they
became unnecessary.

Updated bootstrap script to include system files:
With `keyd` taking its configuration from the `/etc` directory and not
home, a second stow stage was necessary. These stow files are in a
module called `system-packages` inside the top-level `bootstrap` stow
package.
They will not be installed by the default dotfile stow invocation but
have been integrated as an extra step into the install script.
Installing this module requires sudo privileges!

Switched vifm überzug to sixel graphics rendering.
überzug relies on X11 functionality to work, while sixel does not.
Unfortunately, alacritty does not work with sixel graphics yet, only
foot does (somewhat).

Waybar currently runs the gruvbox dark soft color scheme.
Added the old polybar archupdates script to waybar and extended it to
output json format with additional metadata that waybar can read.
Can still output the old plaintext format that polybar expects.
Added a wireguard connection to waybar,shows if currently
connected to either a wireguard or tun VPN service.
If so, shows an icon in the waybar - that can be hovered over to show
the full assigned IP address.
Added an upcoming event display to waybar,
a simple event indicator to show upcoming events on the calendar, on
hovering over it the tooltip lists all upcoming events.

Added `screenshot` script to take simple screenshots and
rectangle region shots of the current output.
Can be invoked through the river shortcut PrintScr:
`PrintScr` - Fullscreen screenshot
`Mod+PrintScr` - Region screenshot
`Shift+PrintScr` - Fullscreen screenshot and file upload
`Mod+Shift+PrintScr` - Region screenshot and file upload

Extended `sharefile` to take paths through stdin and make
use of `fd` if it is found on the system.
2021-11-30 22:30:07 +01:00
Marty Oehme dcea74008b
vifm: Change vifm filename yanking mapping to yt 2021-11-23 09:52:21 +01:00
Marty Oehme e617d4ae1e
xdg: Reorder xdg home directories slightly
Moved pictures and videos back to home directory since they are, first,
not part of a 'media' collection and, second, on a different share to
my personal media assortment.
2021-11-16 12:09:46 +01:00
Marty Oehme 8422285717
vifm: Add additional configuration and functions
Renamed fuzzy find functions to simpler and more logical names:
`fzf` to find and select anything recursing from current directory.
`fzfcd` to find and enter any directory recursively under current one.
`fzfhome` to locate and select anything from user's home directory.

Added shortcuts for above commands:
<space>f `fzf`
<space>c `fzfcd`
<space>F `grep` from current directory.

Added shortcuts to create and extract archives:
xx to extract selected archive.
xa to archive selected files, giving name of file under cursor.
xc to archive and compress selected files, giving name of file under
 cursor.

Move ability to sync current pane to other one from mapping (c-y) to
command (`:syncme`). This is a command only used once in a while and
does not necessarily need its own full mapping. Additionally, having it
as an invocable command mirrors the built-in `:sync` command to do the
exact opposite - sync the other pane to the selected one.
2021-10-09 23:21:39 +02:00
Marty Oehme 176a4a233d
vifm: Obey XDG Trash directory
Moved trash directory vifm uses from its own data location to the one
proposed by XDG specification. Essentially moves it to
`.local/share/Trash`.
2021-08-18 22:33:12 +02:00
Marty Oehme c9c0490cbf
xdg: Move xdg media directories
Moved all directories with media contents (pictures, videos, music) to a
single coherent media directory.
2021-04-18 13:04:59 +02:00
Marty Oehme 0d978f7673
sh: Update xdg directory auto creation
Improved the automatic directory creation somewhat:
It now looks for either a file existing there (could be a directory,
could be an actual file), or a symbolic link pointing somewhere else.

Only if none of those things are at the xdg location will it try to
create a new directory there.

Additionally, it will set the correct permissions for the whole folder
chain being created, NOT just for the last folder in the chain.

vifm: Switch to new xdg directory structure
2021-04-18 13:04:01 +02:00
Marty Oehme 41bfe2df69
mail,mpv,qutebrowser,vifm: Fix small issues
Added videos directory to vifm quick marks (`v`).

Fixed (hopefully) qutebrowser statusbar hiding and showing.

Improved mail checking script password file handling by switching the
hard-coded path to one still somewhat hard-coded, but encapsulated in a
variable to make changing it later on easier. The script is a bit
slap-dash anyway, so when refactored should be refactored overall.

Added `gallery-dl` handling by mpv, whenever a link starting with
`gdl://` is passed in.
2021-03-16 14:37:38 +01:00
Marty Oehme 08c6aee17e
vifm: Set statusline, ruler, fzf, and PDF combine
Set statusline to show more relevant information, and removed 'tip of
the day' functionality since I've never been looking at it.
Set ruler to show me how many files are hidden in a directory.

Added shortcut to quickly combine a bunch of PDFs (`gc`) that are
selected.

Added shortcut (`<leader>f`) to invoke fzf on current directory and
navigate to the result. This mirrors my vim use and mapping.
Additionally, added commands to invoke the fzf functionality (`:FZFfind`
and `FZFlocate`) by hand.

Lastly, moved the file classification and opening functionality a bit
out of the way.
Should still think about handing off opening files to xdg-open since
that's what it's there for, and only make vifm handle the file preview
stuff (i.e. the opposite window buffer preview).
2021-03-14 17:31:05 +01:00
Marty Oehme 3d742a0503
vifm: Add pdf, docx viewer options
Added opening of docx files from vifm through either pandoc
interpretation as markdown if installed, or docx2txt invocation as a
fallback. (pandoc generally interprets the layout better than docx2txt,
especially contained tables).

Similarly, added option to open pdfs with pdftotext program in neovim,
to edit/grep/view only the text without pdf markup in neovim.

Changed key binding to open selected file in neovim from `o` to `e`,
mimicking the edit command found in some other file viewers.
2021-02-19 12:49:14 +01:00
Marty Oehme 92ad105483
vifm: Add tree color preview for directories
Use exa as initial program to display directory previews, fall back to
tree otherwise.
2020-10-06 09:20:01 +02:00
Marty Oehme 4774cd5b15
vifm: Add shortcut to extract selected file
Using `gx` the currently selected file(s?) will get extracted,
automatically using the correct extraction program for the compression
algorithm and creating a folder if necessary to avoid a file explosion
in the current directory (all default features of the `atool` program
which is a dependency)
2020-09-07 22:02:47 +02:00
Marty Oehme 8a5b45f41f
vifm: Add doc|docx preview and nvim opening
Added preview and opening of doc(x) files with nvim.
Makes use of docx2txt, catdoc to display the files, meaning they are
required.

Added some spellchecking words.
2020-07-28 18:15:26 +02:00
Marty Oehme 0e513c04d0
[vifm] Use unique mpv player instance for video
By default now queues to unique mpv player.
2020-05-25 17:50:20 +02:00
Marty Oehme d34cecb27e Switch to GNU stow 2019-12-29 23:12:13 +01:00