Use kitty instead of st as terminal
I decided to merge this without fast-forward (but still after a rebase) to better keep the context of the block of commits needed after the switch. * kitty: README: Change terminal used to kitty kitty: Change to beam cursor kitty: Update mouse_maps to use Alt as kitty_mod kitty: Only set the mappings I need/use kitty: Change color scheme to modified Tango kitty: Enable close_on_child_death kitty: Make kitty startup fast i3: Switch to kitty i3: Save terminal related stuff in variables i3: Remove unneeded window class flag to st dircolors: Use a non-system color for DIR kitty: Configure to align with my st settings kitty: Add v0.42.0 default config
This commit is contained in:
@@ -11,7 +11,14 @@ floating_modifier $mod
|
|||||||
default_border pixel 1
|
default_border pixel 1
|
||||||
hide_edge_borders smart
|
hide_edge_borders smart
|
||||||
|
|
||||||
set $TERMINAL st
|
# Use --single-instance for faster startup. See the "daemon" exec below
|
||||||
|
set $TERMINAL kitty --single-instance
|
||||||
|
set $TERM_CLASS kitty
|
||||||
|
set $TERM_DIR_FLAG -d
|
||||||
|
set $TERM_TITLE_FLAG -T
|
||||||
|
set $TERM_TRANSPARENCY_FLAG -o background_opacity=
|
||||||
|
set $TERM_SCRATCHPAD_TRANS 0.45
|
||||||
|
set $TERM_CMD_FLAG
|
||||||
|
|
||||||
# Focus should not follow mouse
|
# Focus should not follow mouse
|
||||||
# focus_follows_mouse no
|
# focus_follows_mouse no
|
||||||
@@ -23,13 +30,24 @@ set $TERMINAL st
|
|||||||
|
|
||||||
# Execs ########################################################################
|
# Execs ########################################################################
|
||||||
|
|
||||||
|
# Starting a new kitty process is quite slow. With --single-instance (see
|
||||||
|
# $TERMINAL definition above) "new invocations will instead create a new
|
||||||
|
# top-level window in the existing kitty instance"[^1] to allow "kitty to share
|
||||||
|
# a single sprite cache on the GPU"[^1], so that startup is almost instant.
|
||||||
|
#
|
||||||
|
# For this to work best, launch one hidden "daemon" instance at startup so that
|
||||||
|
# the kitty process is always running, even when no OS windows exists.
|
||||||
|
#
|
||||||
|
# [^1]: kitty(1)
|
||||||
|
exec --no-startup-id $TERMINAL --start-as hidden --detach
|
||||||
|
|
||||||
# Multi monitor support
|
# Multi monitor support
|
||||||
exec_always --no-startup-id ~/.config/i3/monitor-setup.sh &
|
exec_always --no-startup-id ~/.config/i3/monitor-setup.sh &
|
||||||
|
|
||||||
# Keybindins ###################################################################
|
# Keybindins ###################################################################
|
||||||
|
|
||||||
# Terminal
|
# Terminal
|
||||||
bindsym $mod+Return exec $TERMINAL -d "$(xcwd)"
|
bindsym $mod+Return exec $TERMINAL $TERM_DIR_FLAG "$(xcwd)"
|
||||||
bindsym $mod+Shift+Return exec $TERMINAL
|
bindsym $mod+Shift+Return exec $TERMINAL
|
||||||
|
|
||||||
# Program launcher
|
# Program launcher
|
||||||
@@ -201,7 +219,7 @@ bindsym $mod+Shift+m move scratchpad
|
|||||||
bindsym $mod+Shift+o scratchpad show
|
bindsym $mod+Shift+o scratchpad show
|
||||||
|
|
||||||
# scratchpad-terminal
|
# scratchpad-terminal
|
||||||
for_window [class="^$TERMINAL-256color$" title="^scratchpad-terminal$"] \
|
for_window [class="^$TERM_CLASS$" title="^scratchpad-terminal$"] \
|
||||||
move scratchpad, \
|
move scratchpad, \
|
||||||
scratchpad show, \
|
scratchpad show, \
|
||||||
sticky enable, \
|
sticky enable, \
|
||||||
@@ -210,12 +228,11 @@ for_window [class="^$TERMINAL-256color$" title="^scratchpad-terminal$"] \
|
|||||||
move position center
|
move position center
|
||||||
# Toggle the scratchpad-terminal or create a new one if none exists.
|
# Toggle the scratchpad-terminal or create a new one if none exists.
|
||||||
bindsym $mod+comma exec \
|
bindsym $mod+comma exec \
|
||||||
i3-msg '[class="^$TERMINAL-256color$" title="^scratchpad-terminal$"] \
|
i3-msg '[class="^$TERM_CLASS$" title="^scratchpad-terminal$"] \
|
||||||
scratchpad show' \
|
scratchpad show' \
|
||||||
|| $TERMINAL -A 0.45 \
|
|| $TERMINAL $TERM_TRANSPARENCY_FLAG$TERM_SCRATCHPAD_TRANS \
|
||||||
-d "$(xcwd)" \
|
$TERM_DIR_FLAG "$(xcwd)" \
|
||||||
-c $TERMINAL-256color \
|
$TERM_TITLE_FLAG scratchpad-terminal
|
||||||
-t scratchpad-terminal
|
|
||||||
|
|
||||||
for_window [class="^TelegramDesktop$"] \
|
for_window [class="^TelegramDesktop$"] \
|
||||||
move scratchpad, \
|
move scratchpad, \
|
||||||
@@ -238,13 +255,13 @@ bindsym $mod+Shift+b exec \
|
|||||||
i3-msg '[class="^Bitwarden$"] scratchpad show' \
|
i3-msg '[class="^Bitwarden$"] scratchpad show' \
|
||||||
|| bitwarden-desktop
|
|| bitwarden-desktop
|
||||||
|
|
||||||
for_window [class="^$TERMINAL-256color$" title="^polybar-datetime-calendar$"] \
|
for_window [class="^$TERM_CLASS$" title="^polybar-datetime-calendar$"] \
|
||||||
floating enable, \
|
floating enable, \
|
||||||
border pixel 3, \
|
border pixel 3, \
|
||||||
resize set 378 300, \
|
resize set 378 300, \
|
||||||
move position 1411 32
|
move position 1411 32
|
||||||
|
|
||||||
for_window [class="^$TERMINAL-256color$" title="^polybar-wlan$"] \
|
for_window [class="^$TERM_CLASS$" title="^polybar-wlan$"] \
|
||||||
floating enable, \
|
floating enable, \
|
||||||
border pixel 3, \
|
border pixel 3, \
|
||||||
resize set 1125 750, \
|
resize set 1125 750, \
|
||||||
@@ -260,12 +277,12 @@ bindsym --release Shift+Print exec cd ~/media/pics/screens/ && scrot -s -f
|
|||||||
bindsym $mod+z exec ~/.local/bin/zoom-links
|
bindsym $mod+z exec ~/.local/bin/zoom-links
|
||||||
|
|
||||||
# Monitor selection with fzf
|
# Monitor selection with fzf
|
||||||
for_window [class="^$TERMINAL-256color$" title="^fzf-monitor-setup$"] \
|
for_window [class="^$TERM_CLASS$" title="^fzf-monitor-setup$"] \
|
||||||
floating enable, \
|
floating enable, \
|
||||||
border pixel 3, \
|
border pixel 3, \
|
||||||
resize set 378 300, \
|
resize set 378 300, \
|
||||||
move position 1 32
|
move position 1 32
|
||||||
bindsym $mod+m exec \
|
bindsym $mod+m exec \
|
||||||
pkill -f fzf-monitor-setup -O 1 \
|
pkill -f fzf-monitor-setup -O 1 \
|
||||||
|| $TERMINAL -t fzf-monitor-setup -e \
|
|| $TERMINAL $TERM_TITLE_FLAG fzf-monitor-setup $TERM_CMD_FLAG \
|
||||||
sh -c "~/.local/bin/monitor-setup && ~/.config/polybar/launch.sh"
|
sh -c "~/.local/bin/monitor-setup && ~/.config/polybar/launch.sh"
|
||||||
|
|||||||
2786
.config/kitty/kitty.conf
Normal file
2786
.config/kitty/kitty.conf
Normal file
File diff suppressed because it is too large
Load Diff
@@ -6,8 +6,7 @@ tools and environments.
|
|||||||
Although some files support macOS, most of them assume that they are used on a
|
Although some files support macOS, most of them assume that they are used on a
|
||||||
GNU/Linux system. The systems I use include an Artix, a Manjaro and an Ubuntu
|
GNU/Linux system. The systems I use include an Artix, a Manjaro and an Ubuntu
|
||||||
installation. All of them running i3wm and the arch-based systems without a DE.
|
installation. All of them running i3wm and the arch-based systems without a DE.
|
||||||
I use [my fork][1] of [st][2] as terminal, [zsh][3] as shell and [neovim][4] as
|
I use [kitty][1] as terminal, [zsh][3] as shell and [neovim][4] as text editor.
|
||||||
text editor.
|
|
||||||
|
|
||||||
The repository mimics my `$HOME`, trying to conform to the [XDG Base Directory
|
The repository mimics my `$HOME`, trying to conform to the [XDG Base Directory
|
||||||
Specification][5] as close as possible. An exception is `etc/ -> /etc/`, as well
|
Specification][5] as close as possible. An exception is `etc/ -> /etc/`, as well
|
||||||
@@ -32,8 +31,7 @@ $ ./meta/install
|
|||||||
|
|
||||||
<!--- Links -->
|
<!--- Links -->
|
||||||
|
|
||||||
[1]: https://github.com/druckdev/st
|
[1]: https://sw.kovidgoyal.net/kitty/
|
||||||
[2]: https://st.suckless.org/
|
|
||||||
[3]: https://www.zsh.org/
|
[3]: https://www.zsh.org/
|
||||||
[4]: https://github.com/neovim/neovim
|
[4]: https://github.com/neovim/neovim
|
||||||
[5]: https://wiki.archlinux.org/title/XDG_Base_Directory
|
[5]: https://wiki.archlinux.org/title/XDG_Base_Directory
|
||||||
|
|||||||
Reference in New Issue
Block a user