dotfiles/sxhkd/sxhkdrc

131 lines
3.9 KiB
Plaintext
Raw Normal View History

# 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
2020-11-02 14:46:43 +00:00
tdrop -ma -w -4 -y "$PANEL_HEIGHT" $TERMINAL
2020-11-02 14:46:43 +00:00
# A handy-dandy calculator as a quick dropdown terminal.
2020-12-12 03:05:06 +00:00
super + shift + c
2020-11-02 14:46:43 +00:00
tdrop -ma -w -4 -y "$PANEL_HEIGHT" $TERMINAL -e julia
# Quick toggling for screenkey.
# Useful for setting up a demo.
super + t
2020-05-01 14:45:31 +00:00
toggle-process screenkey
# Application launcher.
super + d
rofi -show drun -sidebar-mode -theme themes/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?" "pkill bspwm"
# Screenshot and screencast launcher.
2020-05-21 15:16:15 +00:00
super + {_, shift + } Print
rofi-screenshot-menu {_, --stop && notify-send "All recording has stopped" || notify-send "There's no active recording process"}
2020-05-21 15:16:15 +00:00
# A bunch of miscellaneous scripts.
super + x ; {a, s, d}
set -o pipefail && \
{ocr | xclip -in -selection clipboard && notify-send "Image content has been copied on the clipboard.", \
parse-barcodes | xclip -selection clipboard && notify-send "Bar code content has been copied.", \
colorpicker | xclip -selection clipboard && notify-send "Color copied to clipboard."}
# Miscellaneous shortcuts.
super + shift + c
$HOME/.config/emacs/bin/org-capture
2020-01-20 09:18:40 +00:00
super + shift + e
2020-05-01 14:45:31 +00:00
choose-emoji-menu
super + shift + m
choose-manual-menu
super + shift + n
$TERMINAL -e newsboat
shift + super + r
pkill -USR1 sxhkd && notify-send "SXHKD config has successfully reloaded."
2020-12-12 03:05:06 +00:00
shift + super + b
ls $HOME/library/books/*.pdf | xargs -n1 basename | rofi -dmenu | sed "s/^/library\/books\//" | xargs zathura
# 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}
2020-05-21 15:16:15 +00:00
{ $TERMINAL -e 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).
2020-05-21 15:16:15 +00:00
# Close/Kill the focused window.
# Difference between closing a window and killing a window is how the process is killed.
# Closing a window only terminates the process for that window while killing a window terminates all of the related process of that window.
# For example, try opening two Firefox instance and test how it differs.
super + {_, shift +} + q
2020-05-21 15:16:15 +00:00
bspc node --{close,kill}
# Move desktop/node view to the specified desktop.
super + {_,shift + }{1-9,0}
2020-05-21 15:16:15 +00:00
bspc {desktop --focus,node --to-desktop} '^{1-9,10}'
# Desktop and node movements.
super + {_, shift + } Tab
bspc desktop {next, prev} --focus
2020-05-21 15:16:15 +00:00
# less is <, greater is >
super + {less, greater}
bspc node --to-desktop {prev,next}
# Window state 'mode'
super + z ; {z,x,c,v}
bspc node --state {floating,fullscreen,tiled,pseudo_tiled}
# Window resize 'mode'
super + r : {h,j,k,l}
bspc node --resize {left -10 0,bottom 0 10,top 0 -10,right 10 0}
2020-12-12 03:05:06 +00:00
# Window rotation while keeping the layout
# Stole this from https://www.reddit.com/r/bspwm/comments/jwq6di/give_me_some_good_ideas_for_features_i_could_try/gctmst8?utm_source=share&utm_medium=web2x&context=3
super + {r,R}
bspc node @/ --circute {forward,backward}
2020-05-21 15:16:15 +00:00
# grave is `
super + grave
bspc desktop --focus last.occupied
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
2021-01-13 17:10:31 +00:00
# The Vim keybindings.
super + {k,j,h,l}
bspc node {north,south,west,east} --focus
super + shift {k,j,h,l}
bspc node {north,south,west,east} --swap focused --follow