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.
This commit is contained in:
Marty Oehme 2022-01-16 15:18:07 +01:00
parent d9e539b9ec
commit 6fabac6cd8
Signed by: Marty
GPG key ID: B7538B8F50A1C800
10 changed files with 47 additions and 64 deletions

View file

@ -1,12 +1,12 @@
[Unit]
Description=Alacritty window hidden on i3 scratchpad
Description=Terminal window hidden to be called at any point
Requires=x-started-confirm.service
After=x-started-confirm.service
[Service]
Type=simple
# workaround to allow relative executable invocation (i.e. current users' home dir)
ExecStart=/bin/bash -c 'alacritty --title "dropdown-terminal" --class Alacritty,scratchpad'
ExecStart=/bin/bash -c 'kitty --title "dropdown-terminal" --class scratchpad'
Restart=always
[Install]

View file

@ -1,12 +1,12 @@
[Unit]
Description=Todo.md floating vim instance
Description=Todo.md hidden vim instance
Requires=x-started-confirm.service
After=x-started-confirm.service
[Service]
Type=simple
# workaround to allow relative executable invocation (i.e. current users' home dir)
ExecStart=/bin/bash -c 'alacritty --title "dropdown-todo" --class "Alacritty,scratchpad" -e nvim -c ":set nonumber norelativenumber noshowmode noruler laststatus=0 noshowcmd shortmess=F | :Limelight" %h/documents/records/todo.md'
ExecStart=/bin/bash -c 'kitty --title "dropdown-todo" --class scratchpad nvim -c ":set nonumber norelativenumber noshowmode noruler laststatus=0 noshowcmd shortmess=F | :Limelight" %h/documents/records/todo.md'
Restart=always
[Install]

View file

@ -62,12 +62,12 @@ As another example, if you want to check for changes every 30 seconds but still
## Dropdown services
The `dropdown-terminal.service` is very simple, and always keeps a (`alacritty`) terminal window running.
The `dropdown-terminal.service` is very simple, and always keeps a terminal window running.
The program is started with a `scratchpad` class, which is picked up by [`i3`](i3) and automatically hidden.
You can then show/hide the terminal as a floating overlay as you need, mimicking a floating terminal
(by default with `super + shift + return`, though this may change).
When you close the window in any way, systemd automatically restarts it in the background.
The `dropdown-todo.service` is similar but instead of an empty (`alacritty`) terminal window,
The `dropdown-todo.service` is similar but instead of an empty terminal window,
it starts up a `nvim` instance which hides most of its interface and shows a to-do list.
The list, by default, is situated in `~/documents/records/todo.md` and can be displayed with `super + t`.