# Basic binds (inspired from the previous i3 config). super + Return $TERMINAL # A dropdown terminal. # Requires tmux and tdrop for this to work. super + shift + Return tdrop -ma -w -4 -y "$PANEL_HEIGHT" -s dropterm $TERMINAL super + t toggle-process screenkey # Utility keyboard shortcuts. # Application launcher. super + d rofi -show drun -sidebar-mode -theme fds-mini-sidebar # User action shortcuts. super + F10 user-prompt "Proceed to shutdown?" "sudo -A shutdown 0" super + F11 user-prompt "Proceed to reboot?" "sudo -A reboot" super + F12 user-prompt "Exit from X session?" "killall Xorg" # Screenshot and screencast launcher. {_, shift + } Print rofi-screenshot-menu {_, --stop} # Screenshot with OCR capability super + shift + w ocr # Screen record shortcuts. {_,shift +} {_,control +} super + Print record --output $\{VIDEOS_DIRECTORY:-$HOME/recordings\} {_,--disable-cursor} {_,--follow-mouse} # Miscellaneous shortcuts. super + shift + m choose-manual-menu super + shift + e choose-emoji-menu super + shift + t select-wal-theme shift + super + r pkill -USR1 sxhkd && notify-send "SXHKD config has successfully reloaded." # The usual application suite shortcuts. # I'm separating them according to the keyboard row (in the QWERTY layout anyway). super + a ; {z, x, c, v, b, n, m} { nvim, code, inkscape, gimp, blender, kdenlive, lmms } super + a ; {f, a, d} { firefox, $TERMINAL -e lf, krita } super + a ; {t, r} { thunderbird, thunar } # bspwm exclusive shortcuts. # Feel free to replace these if you're working with another WM/DE. # Over time, I may replace one of the usual shortcut # with something more generally applied (with `xdotool` for example). # Kill the focused window. super + {_, shift +} + q bspc node -{c,k} # Move desktop/node view to the specified desktop. super + {_,shift + }{1-9,0} bspc {desktop -f,node -d} '^{1-9,10}' super + z bspc node -t '~floating' super + x bspc node -t '~fullscreen' super + c bspc node -t '~tiled' # Desktop and node movements. super + {_, shift + } Tab bspc desktop {next, prev} --focus super + {_, shift + } + grave bspc {desktop last --focus, node --to-desktop last} super + {Up,Down,Left,Right} bspc node {north,south,west,east} --focus super + shift {Up,Down,Left,Right} bspc node {north,south,west,east} --swap focused --follow