dotfiles/sxhkd/sxhkdrc
foo-dogsquared d3fadf8fe1 Finalize the setup for the dotfiles
The documentation for it has been updated, wal templates are also updated, and certain scripts has been revised to be easily understood.

This may be my stop for the whole year. I'm pretty content with this one.
2020-05-01 21:32:25 +08:00

106 lines
2.4 KiB
Plaintext

# 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-bin 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 --viewpdf
super + shift + e
choose-emoji
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