dotfiles/modules/desktop/bspwm/sxhkdrc

117 lines
2.2 KiB
Plaintext
Executable File

# BSPWM
# Uses modifier key ALT
# Desktop
# View desktop
alt + {1-9,0}
bspc desktop -f {1-9,10}
# Move node to desktop
alt + shift + {1-9,10}
bspc node -d {1-9,10}
# WM
# quit/restart bspwm
alt + shift + {e,r}
bspc {quit,wm -r}
# close/kill node
alt + {_,shift + }q
bspc node -{c,k}
# make sxhkd reload its configuration files:
alt + shift + c
pkill -USR1 -x sxhkd && dunstify 'sxhkd' 'Reloaded config!'
# State and Flags
# set the window state
alt + {t,shift + t,s,f}
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
# set the node flags
alt + ctrl + {m,l,s,p,}
bspc node -g {marked,locked,sticky,private}
# Focus/Swap Nodes
# focus the node in the given direction
alt + {_,shift + }{h,j,k,l}
bspc node -{f,s} {west,south,north,east}
# Rotate tree
alt + shift + {d,a}
bspc node @/ -C {forward,backward}
# Resize Node
# expand a window by moving one of its side outward
alt + ctrl + {h,j,k,l}
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
# contract a window by moving one of its side inward
alt + shift + ctrl + {h,j,k,l}
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
# XF86 Keys
XF86AudioRaiseVolume
pamixer -i 5
XF86AudioLowerVolume
pamixer -d 5
XF86AudioMute
pamixer -t
XF86AudioPlay
[ $(playerctl -p "spotifyd,firefox" status) = "Playing" ] && playerctl -p "spotifyd,firefox" pause || playerctl -p "spotifyd,firefox" play
XF86AudioNext
playerctl -p "spotifyd,firefox" next
XF86AudioPrev
playerctl -p "spotifyd,firefox" previous
XF86MonBrightnessDown
brightnessctl s 10%-
XF86MonBrightnessUp
brightnessctl s +10%
# Programs
# Uses modifier key SUPER
# Rofi
# start rofi
super + d
rofi -show combi
# start Networkmanager rofi
super + w
networkmanager_dmenu
# start rofi-calc
super + c
rofi -show calc -modi calc -no-show-match -no-sort | xclip -selection clipboard
# Show help
super + h
~/bin/sxhkd-help
# Apps
# start firefox
super + {_,shift} +f
firefox {_,--private-window}
# terminal emulator
super + Return
kitty
# Emacs
# start emacs
super + e
emacsclient -c -a emacs
# emacs everywhere
super + shift + e
bspc rule -a 'Emacs' -o state=floating sticky=on; \
emacsclient --eval "(emacs-everywhere)"