# # wm independent hotkeys # # terminal emulator super + ctrl + Return urxvt -tn xterm-256color # scratchpad super + grave tmux kill-session -t scratch \ || urxvt -name urxvt-scratch -geometry 100x26 -e bash -c 'tmux new-session -A -s scratch' # program launcher super + space xdotool search --onlyvisible --classname urxvt-fuzzy windowunmap \ || xdotool search --classname urxvt-fuzzy windowmap \ || urxvt -name urxvt-fuzzy -geometry 100x26 -e $SHELL -c fzf-apps # password manager super + alt + backslash xdotool search --onlyvisible --classname urxvt-fuzzy windowunmap \ || xdotool search --classname urxvt-fuzzy windowmap \ || urxvt -name urxvt-fuzzy -geometry 100x26 -e $SHELL -c fzf-pass # make sxhkd reload its configuration files: super + ctrl + shift + Escape pkill -USR1 -x sxhkd # # Media keys # Pause mpc -q toggle super + Pause ~/.dotfiles/bin/zzz Print maim -s ~/screenshots/$(date +%F-%T).png && notify-send "Screenshot saved" super + Print maim ~/screenshots/$(date +%F-%T).png && notify-send "Screenshot saved" # XF86Audio{Play,Pause} mpc -q toggle XF86Audio{Prev,Next} mpc -q {prev,next} XF86Audio{LowerVolume,RaiseVolume} ~/.dotfiles/os/+arch/bin/vol {-,+} XF86AudioMute ~/.dotfiles/os/+arch/bin/vol toggle super + XF86Eject zzz super + {Down,Up} ~/.dotfiles/os/+arch/bin/vol {-,+} super + {Left,Right} mpc {prev,next} # # bspwm hotkeys # # quit bspwm normally super + alt + Escape bspc quit # close and kill super + {_,shift + }q bspc node -{c,k} # # state/flags # super + {ctrl,shift + } f {~/.dotfiles/os/+arch/bin/bspc.sh m,bspc node -t \~floating} super + shift + p bspc node -t \~pseudo_tiled # set the node flags super + ctrl + {x,y,z} bspc node -g {locked,sticky,private} # # focus/swap # # focus/swap the node in the given direction super + {_,shift +,ctrl +,shift + ctrl +}{h,j,k,l} ~/.dotfiles/os/+arch/bin/bspc.sh {f,s,F,S} {west,south,north,east} # focus the node for the given path jump super + {p,b,comma,period} bspc node -f @{parent,brother,first,second} # focus the next/previous node super + {_,shift + }Tab ~/.dotfiles/os/+arch/bin/bspc.sh F {east,west} # focus monitor or send to the given desktop super + bracket{left,right} bspc desktop -f focused#{prev,next}.local super + ctrl + {_,shift +}{1-9,0} bspc {desktop -f,node -d} {1-9,10} # # preselect # # preselect the direction super + alt + shift + {h,j,k,l} bspc node -p {west,south,north,east} # preselect the ratio super + alt + shift + {1-9} bspc node -o 0.{1-9} # cancel the preselection for the focused node super + alt + shift + space bspc node -p cancel # cancel the preselection for the focused desktop super + alt + shift + space bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel # expand the tiled space in the given direction super + alt + {h,j,k,l} bspc node {@west -r -,@south -r +,@north -r -,@east -r +}64 # contract the tiled space in the given direction super + alt + ctrl + {h,j,k,l} bspc node {@east -r -,@north -r +,@south -r -,@west -r +}64 # move a floating window super + alt + {Left,Down,Up,Right} xdo move {-x -,-y +,-y -,-x +}40 super + alt + ctrl + {Left,Down,Up,Right} xdo resize {-w -,-h -,-h -,-w -}40 # # # # Stream mode super + shift + s bspc config -m C left_padding 320; \ bspc config -m C right_padding 320; \ bspc config -m C top_padding 255; \ bspc config -m C bottom_padding 255; \ bspc config -m C window_gap 8