diff --git a/super.png b/super.png new file mode 100644 index 0000000..7ede9f3 Binary files /dev/null and b/super.png differ diff --git a/super_alt.png b/super_alt.png new file mode 100644 index 0000000..96c52fb Binary files /dev/null and b/super_alt.png differ diff --git a/super_alt_ctrl.png b/super_alt_ctrl.png new file mode 100644 index 0000000..1fc8cf2 Binary files /dev/null and b/super_alt_ctrl.png differ diff --git a/super_ctrl.png b/super_ctrl.png new file mode 100644 index 0000000..844d48f Binary files /dev/null and b/super_ctrl.png differ diff --git a/sxhkdrc b/sxhkdrc index 67f0c56..c3a3b7e 100644 --- a/sxhkdrc +++ b/sxhkdrc @@ -2,37 +2,40 @@ # wm independent hotkeys # -# terminal emulator +# terminal super + shift + t - kitty + kitty -# program launcher -super + @space - dmenu_run +super + Return + kitty nvim -# editor -super + shift + Return - kitty /usr/local/bin/nvim +# dmenu +super + @space + {_,m,l} + {dmenu_run,kitty ~/.local/bin/manmenu,kitty ~/.local/bin/lsmenu} -# browser -super + shift + b - qutebrowser +# browsers +super + shift + {q,f,c} + {qutebrowser,firefox,chromium} + +# monitors +super + shift + a + arandr # make sxhkd reload its configuration files: super + shift + r pkill -USR1 -x sxhkd -# monitors -super + shift + m - arandr - # # bspwm hotkeys # -# quit/restart bspwm -super + alt + {q,r} - bspc {quit,wm -r} +# quit bspwm +super + Escape + pkill -x panel; bspc quit + +# restart bspwm +super + r + bspc wm -r # close and kill super + {_,shift + }w @@ -47,7 +50,8 @@ super + y bspc node newest.marked.local -n newest.!automatic.local # swap the current node and the biggest window -super + Return +#it would be nice to make this work only for active desktops +super + g bspc node -s biggest.window # @@ -59,7 +63,7 @@ super + {t,p,s,f} bspc node -t {tiled,pseudo_tiled,floating,fullscreen} # set the node flags -super + ctrl + {m,l,y,z} +super + ctrl + {m,l,s,p} bspc node -g {marked,locked,sticky,private} # @@ -67,20 +71,33 @@ super + ctrl + {m,l,y,z} # # focus the node in the given direction -super + {_,shift + }{h,n,e,i} - bspc node -{f,s} {west,south,north,east} +super + {h,n,e,i} + bspc node -f {west,south,north,east} + # focus the node for the given path jump -super + {p,b,comma,period} +super + {shift + b,b,comma,period} bspc node -f @{parent,brother,first,second} # focus the next/previous window in the current desktop -super + {_,shift + }c +super + {_,ctrl + }c bspc node -f {next,prev}.local.!hidden.window -# focus the next/previous desktop in the current monitor +# focus the next/previous monitor super + bracket{left,right} - bspc desktop -f {prev,next}.local + bspc monitor -f {prev,next} + +# focus the next/previous desktop in the current monitor +super + shift + bracket{left,right} + bspc desktop -f {prev,next}.local + +# move window to the next/previous monitor +super + shift + {Left,Down,Up,Right} + dir={west,south,north,east}; \ + bspc node -s "$dir.local" --follow \ + || bspc node -m "$dir" --follow +#super + shift + bracket{left,right} +# bspc node -s # focus the last node/desktop super + {grave,Tab} @@ -96,6 +113,10 @@ super + {_,shift + } + k super + {_,shift + }{1-9,0} bspc {desktop -f,node -d} focused:'^{1-9,10}' +# send to desktop and go to desktop +super + ctrl + {1-9,0} + bspc node -d '^{1-9,10}' --follow + # # preselect # @@ -105,7 +126,7 @@ super + ctrl + {h,n,e,i} bspc node -p {west,south,north,east} # preselect the ratio -super + ctrl + {1-9} +super + shift + ctrl + {1-9} bspc node -o 0.{1-9} # cancel the preselection for the focused node @@ -120,6 +141,12 @@ super + ctrl + shift + space # move/resize # +# move node in the given direction +super + shift + {h,n,e,i} + dir={west,south,north,east}; \ + bspc node -s "$dir.local" --follow \ + || bspc node -m "$dir" --follow + # expand a window by moving one of its side outward super + alt + {h,n,e,i} bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} @@ -129,5 +156,5 @@ super + alt + shift + {h,n,e,i} bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} # move a floating window -super + shift + {h,n,e,i} +super + alt + ctrl + {h,n,e,i} bspc node -v {-20 0,0 20,0 -20,20 0}