~/.config/i3/config:
# emacsclient
set $em_daemon ~/.local/bin/em
# make a quick launcher for specific things I do all the time
bindsym $mod+o mode "spotlight"
mode "spotlight" {
## specific files in a new emacs buffer
# dired in home
bindsym d exec $em_daemon ~/; mode "default"
# ibuffer
bindsym e exec $em_daemon --eval "(ibuffer)"; mode "default" #
# guaranteed new scratch buffer
bindsym s exec $em_daemon --eval '(switch-to-buffer (format-time-string "%d %b %Y %H:%M:%S"))'; mode "default"
## common binaries
bindsym f exec firefox ; mode "default"
bindsym h exec --no-startup-id zeal ; mode "default"
bindsym j exec --no-startup-id ~/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox ; mode "default"
bindsym m exec --no-startup-id mendeley ; mode "default"
bindsym k exec --no-startup-id keepassxc ; mode "default"
## special launchers
# ipython
bindsym i exec zsh -c '$alacritty -e ~/.local/pipx/venvs/ipython/bin/ipython'; mode "default"
# app switcher
bindsym a exec "rofi -show window -show-icons -theme gruvbox-dark-hard.rasi"; mode "default"
## just in case we did this by mistake
bindsym Escape mode "default"
}I like the mode idea, wonder if I can get an equivalent in KDE.
Maybe checkout https://vickychijwani.me/blazing-fast-application-switching-.... Personally I use jumpapp which does more or less the same thing. https://github.com/mkropat/jumpapp.