#!/usr/bin/env bash nullexec() { "$@" &>/dev/null } PATH+=":$HOME/.config/alternatives" PATH+=":$HOME/.config/bspwm/bin" # Cursor for the root window xsetroot -cursor_name left_ptr # Global config bspc config focused_sticky_border_color "#030061" bspc config focused_border_color "#67748F" bspc config normal_border_color "#1f1f1f" bspc config urgent_border_color "#f9f9f9" bspc config window_gap "9" bspc config border_width '2' bspc config split_ratio '0.52' bspc config borderless_monocle 'false' bspc config gapless_monocle 'false' bspc config focus_by_distance 'true' bspc config ignore_ewmh_focus 'true' bspc config initial_polarity 'second_child' bspc config auto_cancel 'true' bspc config click_to_focus 'true' # Workspaces and monitors bspc monitor -d 1 2 3 4 5 6 7 8 9 h # Float some bastards bspfloat 1 & # Individual padding for d in 1 3; do bspset -d "$d" padding 48 done # Clear the rules before adding any while read -r rule _; do bspc rule -r "$rule"; done < <(bspc rule -l) # Now add the rules bspc rule -a 'Steam' state=floating desktop=^8 bspc rule -a 'Firefox:Navigator' state=tiled desktop=^2 bspc rule -a '*:Hearthstone.exe' desktop=^5 bspc rule -a '*:Arma 3' state=fullscreen desktop=^5 bspc rule -a '*' state=floating # start some services services=( sxhkd dunst ssh-agent ) for s in "${services[@]}"; do if ! service "$s" status; then service "$s" start fi done # Always restart the panel service moltenbar restart nullexec browser & nullexec telegram & nullexec dropbox & terminal -e 'ssh-add-all' & terminal -e 'sudo wrkvpn' &