##################################################### ## locate: ${XDG_CONFIG_HOME}/herbstluftwm/sxhkdrc ## ## author: Vincent Z (github.com/milomouse) ## ## detail: keybinding(s) for `herbstluftwm' ## ##################################################### ## NOTE 1: spawned and killed from "xinitrc" ## ##################################################### ############################### ## Internal (herbstluftwm): ## ############################### #+ quit herbstluftwm super + {_,shift +} q herbstclient {reload,chain - emit_hook quit_panel - quit} #+ close focused window super + control + Pause herbstclient close #+ (lock|unlock) focused tag, with visual super + x ; {l,u} herbstclient chain - set window_border_active_color {'#ab5278' - lock_tag,'#53475b' - unlock_tag} #+ rotate desktop layout super + c herbstclient rotate #+ cycle frame layout(s) super + {_,shift} + g herbstclient cycle_layout {+,-}1 max vertical horizontal grid #+ choose frame layout(s) super + shift + a ; {m,v,h,g} herbstclient set_layout {max,vertical,horizontal,grid} #+ reset frame layout to max super + a herbstclient set_layout max #+ manually split frame at left or right super + {minus,equal} herbstclient split {left,right} 0.5 #+ manually split frame at top or bottom super + shift + {equal,minus} herbstclient split {top,bottom} 0.5 #+ automatically split, and/or shift window to new split (if available) super + {_,shift +} BackSpace herbstclient split {explode,auto} #+ resize window in direction super + r : {h,shift + h,j,shift + j,k,shift + k,l,shift + l} herbstclient resize {left +,left -,down +,down -,up +,up -,right +,right -}0.01 #+ change focus or move window in direction super + {_,shift +} {h,j,k,l} herbstclient {focus,shift} -e {left,down,up,right} #+ shift window to edge of tag in direction super + control + {h,j,k,l} herbstclient shift_edge -e {left,down,up,right} #+ change window focus next/previous super + {_,shift +} space herbstclient cycle {+,-}1 #+ change focus to next/prev desktop occupied with client super + {n,p} /howl/conf/herbstluftwm/tagswitch.sh {next,prev} #+ change focus to next/prev desktop super + {period,comma} herbstclient use_index {+,-}1 --skip-visible #+ move window to next/prev desktop super + shift + {period,comma} herbstclient move_index {+,-}1 --skip-visible #+ change focus between last desktop(s) super + slash herbstclient use_previous #+ focus or pull urgent window super + {_,shift +} u herbstclient {jumpto,bring} urgent #+ float/unfloat, fullscreen super + {f,o} herbstclient {pseudotile,fullscreen} toggle #+ remove frame super + z herbstclient remove ######################## ## External: ## ######################## #+ reload sxhkd config super + shift + s pkill -USR1 -x sxhkd #+ spawn rxvt-unicode with tmux super + Return urxvt -e tmux -S /tmp/user-keep/h/tmux/xorg #+ spawn rxvt-unicode super + shift + Return urxvt #+ spawn application launcher super + e interrobang #+ disable/enable/hide/unhide the mouse super + Escape zaprat --toggle #+ refresh all windows super + b xrefresh #+ mplayer daemon (toggle|stop) super + {_,shift +} d mifo {--toggle,--stop} #+ mplayer daemon toggle, stop XF86Audio{Play,Stop} mifo {--toggle,--stop} #+ mplayer daemon randomize super + t mifo --random #+ mplayer daemon repeat (on|off) super + {_,shift +} backslash mifo {--repeat off && mifo --repeat on,--repeat off} #+ mplayer daemon (prev|next) super + bracket{left,right} mifo {--prev,--next} #+ mplayer daemon next, prev XF86Audio{Next,Prev} mifo {--next,--prev} #+ pulseaudio mute (toggle|on|off) super + {_,shift +,ctrl +} m pulsevol {--mute,--mute on,--mute off} #+ pulseaudio toggle XF86AudioMute pulsevol --mute #+ pulseaudio raise volume XF86AudioRaiseVolume pulsevol --increase 1 #+ pulseaudio lower volume XF86AudioLowerVolume pulsevol --decrease 1 #+ if found, focus on existing dwb instance, else exec dwb super + w /bin/sh -c 'if [[ -n $(pidof dwb) ]] ; then if [[ ${(Q)$(herbstclient stack)[7]} != "Ⅲ" ]] ; then herbstclient use Ⅲ ; fi ; else exec dwb ; fi' #+ simple clipboard in/out synchronizer super + y /howl/code/zsh/xclip-wrapper #+ yank screenshot of current desktop super + shift + y import -window root /howl/foto/shot/$(date '+%Y_%m_%d-%H%M%S').png # vim: set ft=sxhkdrc: