diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2019-01-06 16:24:10 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2019-01-06 16:24:10 +0000 |
commit | 04d9e0dc49472dedd17648b11d2de797b911362c (patch) | |
tree | 4e4962d3e4d424cb47acc457d400f4dacee6cbdf | |
parent | 3139f280bf582307a4f871ef67ae799611089b29 (diff) | |
download | dotfiles-04d9e0dc49472dedd17648b11d2de797b911362c.tar.gz dotfiles-04d9e0dc49472dedd17648b11d2de797b911362c.zip |
Add bspwm with sxkhd
-rwxr-xr-x | bspwm/bspwmrc | 23 | ||||
-rw-r--r-- | sxhkd/sxhkdrc | 121 |
2 files changed, 144 insertions, 0 deletions
diff --git a/bspwm/bspwmrc b/bspwm/bspwmrc new file mode 100755 index 0000000..1468baf --- /dev/null +++ b/bspwm/bspwmrc @@ -0,0 +1,23 @@ +#!/bin/sh + +# Startup programs +sxhkd -m 1 & +compton & +redshift & +sh ~/.fehbg +xinput set-prop 'DLL075B:01 06CB:76AF Touchpad' 'libinput Natural Scrolling Enabled' 1 + +$HOME/.config/polybar/launch.sh + +bspc monitor -d 1 2 3 4 5 6 7 8 9 10 + +bspc config border_width 2 +bspc config window_gap 12 + +bspc config split_ratio 0.52 +bspc config borderless_monocle true +bspc config gapless_monocle true + +bspc rule -a Gimp desktop='^8' state=floating follow=on +bspc rule -a 'Firefox Developer Edition' desktop='^2' +bspc rule -a Emacs desktop='^2' diff --git a/sxhkd/sxhkdrc b/sxhkd/sxhkdrc new file mode 100644 index 0000000..90a528d --- /dev/null +++ b/sxhkd/sxhkdrc @@ -0,0 +1,121 @@ +# +# wm independent hotkeys +# + +# terminal emulator +super + Return + xterm + +# program launcher +super + d + rofi -show combi + +# make sxhkd reload its configuration files: +super + Escape + pkill -USR1 -x sxhkd + +# +# bspwm hotkeys +# + +# quit bspwm normally +super + alt + Escape + bspc quit + +# close and kill +super + {_,shift + }q + bspc node -{c,k} + +# alternate between the tiled and monocle layout +super + m + bspc desktop -l next + +# send the newest marked node to the newest preselected node +super + y + bspc node newest.marked.local -n newest.!automatic.local + +# swap the current node and the biggest node +super + g + bspc node -s biggest + +# +# state/flags +# + +# set the window state +super + {t,shift + t,s,f} + bspc node -t {tiled,pseudo_tiled,floating,fullscreen} + +# set the node flags +super + ctrl + {m,x,y,z} + bspc node -g {marked,locked,sticky,private} + +# +# focus/swap +# + +# focus the node in the given direction +super + {_,shift + }{h,j,k,l} + bspc node -{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 in the current desktop +super + {_,shift + }c + bspc node -f {next,prev}.local + +# focus the next/previous desktop in the current monitor +super + bracket{left,right} + bspc desktop -f {prev,next}.local + +# focus the last node/desktop +super + {grave,Tab} + bspc {node,desktop} -f last + +# focus the older or newer node in the focus history +super + {o,i} + bspc wm -h off; \ + bspc node {older,newer} -f; \ + bspc wm -h on + +# focus or send to the given desktop +super + {_,shift + }{1-9,0} + bspc {desktop -f,node -d} '^{1-9,10}' + +# +# preselect +# + +# preselect the direction +super + ctrl + {h,j,k,l} + bspc node -p {west,south,north,east} + +# preselect the ratio +super + ctrl + {1-9} + bspc node -o 0.{1-9} + +# cancel the preselection for the focused node +super + ctrl + space + bspc node -p cancel + +# cancel the preselection for the focused desktop +super + ctrl + shift + space + bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel + +# +# move/resize +# + +# expand a window by moving one of its side outward +super + alt + {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 +super + alt + shift + {h,j,k,l} + bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} + +# move a floating window +super + {Left,Down,Up,Right} + bspc node -v {-20 0,0 20,0 -20,20 0} |