diff --git a/bspwm/bspwmrc b/bspwm/bspwmrc new file mode 100644 index 0000000..adf05ec --- /dev/null +++ b/bspwm/bspwmrc @@ -0,0 +1,25 @@ +#! /bin/sh + +pgrep -x sxhkd > /dev/null || sxhkd & + +bspc monitor -d I II III IV V VI VII VIII IX X + +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 Chromium desktop='^2' +bspc rule -a mplayer2 state=floating +bspc rule -a Kupfer.py focus=on +bspc rule -a Screenkey manage=off + +# Setup monitors and restore wallpapers +xrandr --output HDMI-0 --mode 2560x1080 --pos 0x554 --rotate normal --output DP-0 --off --output DP-1 --off --output DP-2 --primary --mode 3440x1440 --pos 2560x0 --rotate normal --output DP-3 --off --output DP-4 --off --output DP-5 --off +nitrogen --restore & + +# Launch the polybar script +$HOME/.config/polybar/launch.sh diff --git a/bspwm/sxhkdrc b/bspwm/sxhkdrc new file mode 100644 index 0000000..635fe8c --- /dev/null +++ b/bspwm/sxhkdrc @@ -0,0 +1,122 @@ +# +# wm independent hotkeys +# + +# terminal emulator +alt + Return + urxvt + +# make sxhkd reload its configuration files: +alt + Escape + pkill -USR1 -x sxhkd + +# start dmenu +alt + d + dmenu_run + + +# +# bspwm hotkeys +# + +# quit/restart bspwm +alt + shift + e + bspc {quit,wm -r} + +# close and kill +alt + {_,shift + }q + bspc node -{c,k} + +# alternate between the tiled and monocle layout +alt + m + bspc desktop -l next + +# send the newest marked node to the newest preselected node +alt + y + bspc node newest.marked.local -n newest.!automatic.local + +# swap the current node and the biggest window +alt + g + bspc node -s biggest.window + +# +# state/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,x,y,z} + bspc node -g {marked,locked,sticky,private} + +# +# focus/swap +# + +# focus the node in the given direction +alt + {_,shift + }{j,k,l,semicolon} + bspc node -{f,s} {west,south,north,east} + +# focus the node for the given path jump +alt + {p,b,comma,period} + bspc node -f @{parent,brother,first,second} + +# focus the next/previous window in the current desktop +alt + {_,shift + }c + bspc node -f {next,prev}.local.!hidden.window + +# focus the next/previous desktop in the current monitor +alt + bracket{left,right} + bspc desktop -f {prev,next}.local + +# focus the last node/desktop +alt + {grave,Tab} + bspc {node,desktop} -f last + +# focus the older or newer node in the focus history +alt + {o,i} + bspc wm -h off; \ + bspc node {older,newer} -f; \ + bspc wm -h on + +# focus or send to the given desktop +alt + {_,shift + }{1-9,0} + bspc {desktop -f,node -d} '^{1-9,10}' + +# +# preselect +# + +# preselect the direction +alt + ctrl + {j,k,l,semicolon} + bspc node -p {west,south,north,east} + +# preselect the ratio +alt + ctrl + {1-9} + bspc node -o 0.{1-9} + +# cancel the preselection for the focused node +alt + ctrl + space + bspc node -p cancel + +# cancel the preselection for the focused desktop +alt + 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 + {j,k,l,semicolon} + 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 + {j,k,l,semicolon} + 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} diff --git a/config b/i3/config similarity index 100% rename from config rename to i3/config diff --git a/i3status.conf b/i3/i3status.conf similarity index 100% rename from i3status.conf rename to i3/i3status.conf