45 lines
1.3 KiB
Bash
Executable file
45 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
BORDER_WIDTH=5 # change in bspwmrc
|
|
export WINDOW_GAP=25
|
|
DESKTOPS=(dev web gfx env play out misc chat mon util)
|
|
|
|
BSPWM_MONITORS=$(bspc query -M | tac)
|
|
MONITOR_COUNT=$(echo "${BSPWM_MONITORS}" | wc -w | awk '{ printf $1 }')
|
|
NUM_DESKTOPS=${#DESKTOPS[@]}
|
|
PER_MONITOR=$((NUM_DESKTOPS / MONITOR_COUNT))
|
|
|
|
# allow a per-device config to override options
|
|
if [ -f "$HOME/.env_bspwm" ]; then
|
|
source "$HOME/.env_bspwm"
|
|
fi
|
|
|
|
bspc config normal_border_color "$(xrdb -query | sed -ne 's/.*background:\s*//p')"
|
|
bspc config focused_border_color "$(xrdb -query | sed -ne 's/.*color0\?4:\s*//p')"
|
|
bspc config active_border_color "$(xrdb -query | sed -ne 's/.*color0\?4:\s*//p')"
|
|
bspc config presel_feedback_color "$(xrdb -query | sed -ne 's/.*color0\?4:\s*//p')"
|
|
bspc config border_width "$BORDER_WIDTH"
|
|
bspc config split_ratio 0.666666
|
|
bspc config borderless_monocle true
|
|
bspc config gapless_monocle true
|
|
bspc config pointer_modifier "mod4"
|
|
|
|
bspc config window_gap "$WINDOW_GAP"
|
|
|
|
i=1
|
|
for mon in ${BSPWM_MONITORS}; do
|
|
max=$((i + PER_MONITOR - 1))
|
|
screens=
|
|
for j in $(seq $i $max); do
|
|
ind=${DESKTOPS[$((j - 1))]}
|
|
screens="${screens}${ind} "
|
|
done
|
|
bspc monitor "$mon" -d $screens
|
|
i=$((max + 1))
|
|
done
|
|
|
|
# allow a per-device config to override options
|
|
if [ -f "$HOME/.env_bspwm_after" ]; then
|
|
source "$HOME/.env_bspwm_after"
|
|
fi
|