8 changed files with 238 additions and 20 deletions
			
			
		@ -0,0 +1,52 @@
					 | 
				
			||||
#! /bin/sh | 
				
			||||
 | 
				
			||||
#--- General ---# | 
				
			||||
 | 
				
			||||
# Basic definitions | 
				
			||||
bspc config border_width               4 | 
				
			||||
bspc config window_gap                 20 | 
				
			||||
bspc config split_ratio                0.502 | 
				
			||||
bspc config top_padding                "$PANEL_HEIGHT" | 
				
			||||
 | 
				
			||||
# Program startup | 
				
			||||
"$HOME"/.scripts/wm/pidctl.sh -p & | 
				
			||||
 | 
				
			||||
# Colors | 
				
			||||
bspc config focused_border_color       "$FGCOLOR_INACTIVE" | 
				
			||||
bspc config normal_border_color		   "$BGCOLOR_INACTIVE" | 
				
			||||
bspc config active_border_color		   "$BGCOLOR_INACTIVE" | 
				
			||||
bspc config presel_feedback_color	   "$FGCOLOR_INACTIVE" | 
				
			||||
 | 
				
			||||
# Node | 
				
			||||
bspc config borderless_monocle         true | 
				
			||||
bspc config gapless_monocle            true | 
				
			||||
bspc config initial_polarity           second_child | 
				
			||||
bspc config single_monocle             true | 
				
			||||
 | 
				
			||||
# Pointer | 
				
			||||
bspc config focus_follows_pointer      true | 
				
			||||
bspc config pointer_follows_monitor    true | 
				
			||||
bspc config pointer_modifier           mod4 | 
				
			||||
 | 
				
			||||
#--- Desktops ---# | 
				
			||||
 | 
				
			||||
# Set desktops | 
				
			||||
bspc monitor -d "$WS1" "$WS2" "$WS3" "$WS4" "$WS5" \ | 
				
			||||
	 "$WS6" "$WS7" "$WS8" "$WS9" "$WS0" | 
				
			||||
 | 
				
			||||
# Open program on specific desktop | 
				
			||||
bspc rule -a Firefox                   desktop="^$WS1" | 
				
			||||
bspc rule -a Thunar                    desktop="^$WS4" | 
				
			||||
bspc rule -a krita                     desktop="^$WS5" follow=on | 
				
			||||
 | 
				
			||||
# Set program properties | 
				
			||||
bspc rule -a Arandr                    state=floating | 
				
			||||
bspc rule -a Bar                       layer=above | 
				
			||||
bspc rule -a feh                       state=floating | 
				
			||||
bspc rule -a Firefox:Places            state=floating | 
				
			||||
bspc rule -a Lxappearance              state=floating | 
				
			||||
bspc rule -a mpv                       state=floating center=on | 
				
			||||
bspc rule -a Pavucontrol               state=floating | 
				
			||||
bspc rule -a Qemu-system-i386          state=floating | 
				
			||||
bspc rule -a Qemu-system-x86_64        state=floating | 
				
			||||
bspc rule -a Zathura                   state=tiled | 
				
			||||
@ -0,0 +1,128 @@
					 | 
				
			||||
# -*-conf-*- | 
				
			||||
 | 
				
			||||
 | 
				
			||||
##--- Control ---## | 
				
			||||
 | 
				
			||||
 | 
				
			||||
# Restart bspwm | 
				
			||||
super + shift + r | 
				
			||||
	bspc wm -r | 
				
			||||
 | 
				
			||||
# Logout | 
				
			||||
super + shift + e | 
				
			||||
	prompt.sh "Logout and exit bspwm?" "bspc quit" | 
				
			||||
 | 
				
			||||
 | 
				
			||||
##--- Node ---## | 
				
			||||
 | 
				
			||||
 | 
				
			||||
# Close and kill focused node | 
				
			||||
super + {_,shift} + q | 
				
			||||
	bspc node -{c,k} | 
				
			||||
 | 
				
			||||
#-- State/flags --# | 
				
			||||
 | 
				
			||||
# Toggle fullscreen mode | 
				
			||||
super + f | 
				
			||||
	bspc node -t \~fullscreen | 
				
			||||
 | 
				
			||||
# Toggle tiled/floating | 
				
			||||
super + space | 
				
			||||
	bspc query -N -n focused.tiled && \ | 
				
			||||
	bspc node -t floating || bspc node -t tiled -g sticky=off | 
				
			||||
 | 
				
			||||
# Sticky floating node | 
				
			||||
super + shift + f | 
				
			||||
	bspc node -t floating -g sticky=on; $HOME/.scripts/wm/hover.sh | 
				
			||||
 | 
				
			||||
# Set node flags | 
				
			||||
super + ctrl + {s,p,semicolon} | 
				
			||||
	bspc node -g {sticky,private,locked} | 
				
			||||
 | 
				
			||||
#-- Focus --# | 
				
			||||
 | 
				
			||||
# Focus node in direction | 
				
			||||
super + {_,shift} + {h,j,k,l} | 
				
			||||
	bspc node -{f,s} {west,south,north,east}.local | 
				
			||||
super + {_,shift} + {Left,Down,Up,Right} | 
				
			||||
	bspc node -{f,s} {west,south,north,east}.local | 
				
			||||
 | 
				
			||||
# Focus the node for the given path jump | 
				
			||||
super + {p,b,comma,period} | 
				
			||||
	bspc node -f @{parent,brother,first,second}.local | 
				
			||||
 | 
				
			||||
# Focus previous/next node | 
				
			||||
super + {_,shift} + Tab | 
				
			||||
	bspc node -f {next,prev}.local | 
				
			||||
 | 
				
			||||
# Focus previous/next monitor | 
				
			||||
super + bracket{left,right} | 
				
			||||
	bspc monitor -f {prev,next} | 
				
			||||
 | 
				
			||||
#-- Move --# | 
				
			||||
 | 
				
			||||
# Move node to previous/next/last desktop | 
				
			||||
super + shift + {minus,equal,grave} | 
				
			||||
	bspc node -d {prev.local,next.local,last} | 
				
			||||
 | 
				
			||||
# Move node to previous/next monitor | 
				
			||||
super + shift + bracket{left,right} | 
				
			||||
	bspc node -m {prev,next} --follow | 
				
			||||
 | 
				
			||||
# Swap focused and biggest node | 
				
			||||
super + g | 
				
			||||
	bspc node -s biggest.local | 
				
			||||
 | 
				
			||||
# Send focused node to the latest preselect node | 
				
			||||
super + y | 
				
			||||
	bspc node -n newest.!automatic.local | 
				
			||||
 | 
				
			||||
#-- Resize --# | 
				
			||||
 | 
				
			||||
# Expand node by moving its side outward | 
				
			||||
super + alt + {h,j,k,l} | 
				
			||||
	bspc node -z {left -30 0,bottom 0 30,top 0 -30,right 30 0} | 
				
			||||
super + alt + {Left,Down,Up,Right} | 
				
			||||
	bspc node -z {left -30 0,bottom 0 30,top 0 -30,right 30 0} | 
				
			||||
 | 
				
			||||
# Contract node by moving its side inward | 
				
			||||
super + alt + ctrl + {h,j,k,l} | 
				
			||||
	bspc node -z {right -30 0,top 0 30,bottom 0 -30,left 30 0} | 
				
			||||
super + alt + ctrl + {Left,Down,Up,Right} | 
				
			||||
	bspc node -z {right -30 0,top 0 30,bottom 0 -30,left 30 0} | 
				
			||||
 | 
				
			||||
#-- Preselect node --# | 
				
			||||
 | 
				
			||||
# Preselect direction | 
				
			||||
super + ctrl + {h,j,k,l} | 
				
			||||
	bspc node -p {west,south,north,east} | 
				
			||||
super + ctrl + {Left,Down,Up,Right} | 
				
			||||
	bspc node -p {west,south,north,east} | 
				
			||||
 | 
				
			||||
# Preselect ratio | 
				
			||||
super + ctrl + {1-9} | 
				
			||||
	bspc node -o 0.{1-9} | 
				
			||||
 | 
				
			||||
# Cancel preselection in focused node | 
				
			||||
super + ctrl + space | 
				
			||||
	bspc node -p cancel | 
				
			||||
 | 
				
			||||
 | 
				
			||||
##--- Desktop ---## | 
				
			||||
 | 
				
			||||
 | 
				
			||||
# Toggle tiled/monocle layout | 
				
			||||
super + z | 
				
			||||
	bspc desktop -l next | 
				
			||||
 | 
				
			||||
# Focus/send node to desktop | 
				
			||||
super + {_,shift} + {1-9,0} | 
				
			||||
	bspc {desktop -f,node -d} '^{1-9,10}' | 
				
			||||
 | 
				
			||||
# Focus the previous/next desktop on current monitor | 
				
			||||
super + {minus,equal} | 
				
			||||
	bspc desktop -f {prev,next}.local | 
				
			||||
 | 
				
			||||
# Focus last desktop | 
				
			||||
super + grave | 
				
			||||
	bspc desktop -f last | 
				
			||||
@ -0,0 +1,24 @@
					 | 
				
			||||
# -*-conf-*- | 
				
			||||
 | 
				
			||||
#--- General ---# | 
				
			||||
 | 
				
			||||
background "#2b2e39" | 
				
			||||
 | 
				
			||||
#--- Dimensions ---# | 
				
			||||
 | 
				
			||||
geometry 8x1-730+4 | 
				
			||||
grow_gravity NW | 
				
			||||
 | 
				
			||||
icon_size 30 | 
				
			||||
icon_gravity NE | 
				
			||||
 | 
				
			||||
max_geometry 0x38 | 
				
			||||
 | 
				
			||||
#--- Properties (atoms) ---# | 
				
			||||
 | 
				
			||||
skip_taskbar true | 
				
			||||
sticky true | 
				
			||||
 | 
				
			||||
window_layer top | 
				
			||||
window_strut none | 
				
			||||
window_type dock | 
				
			||||
					Loading…
					
					
				
		Reference in new issue