46 lines
1.4 KiB
Bash
Executable file
46 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env sh
|
|
|
|
NUM_DESKTOPS="$(xrq bspwm.num_desktops)"
|
|
REVERSE_DESKTOP_ORDERING="$(xrq bspwm.reverse_desktop_ordering)"
|
|
BSPWM_MONITORS=$(bspc query -M | tac)
|
|
MONITOR_COUNT=$(<<< "$BSPWM_MONITORS" wc -w | awk '{ printf $1 }')
|
|
PER_MONITOR=$((NUM_DESKTOPS / MONITOR_COUNT))
|
|
DESKTOPS=$(seq "$NUM_DESKTOPS")
|
|
|
|
bspc config normal_border_color "$(xrq bspwm.normal_border_color)"
|
|
bspc config focused_border_color "$(xrq bspwm.focused_border_color)"
|
|
bspc config active_border_color "$(xrq bspwm.active_border_color)"
|
|
bspc config presel_feedback_color "$(xrq bspwm.presel_feedback_color)"
|
|
bspc config border_width "$(xrq bspwm.border_width)"
|
|
bspc config split_ratio "$(xrq bspwm.split_ratio)"
|
|
bspc config window_gap "$(xrq bspwm.window_gap)"
|
|
bspc config borderless_monocle true
|
|
bspc config gapless_monocle true
|
|
bspc config pointer_modifier "mod4"
|
|
bspc config remove_unplugged_monitors true
|
|
bspc config remove_disabled_monitors true
|
|
|
|
bspc rule -a "*" split_dir=right
|
|
|
|
i=1
|
|
for mon in $BSPWM_MONITORS; do
|
|
max=$((i + PER_MONITOR - 1))
|
|
screens=
|
|
for j in $(seq $i $max); do
|
|
screens="${screens}${j} "
|
|
done
|
|
bspc monitor "$mon" -d $screens
|
|
i=$((max + 1))
|
|
done
|
|
|
|
if [ $REVERSE_DESKTOP_ORDERING -eq 1 ]; then
|
|
prev_mon=
|
|
for mon in ${BSPWM_MONITORS}; do
|
|
if [ ! -z $prev_mon ]; then
|
|
bspc monitor "$mon" --swap "$prev_mon"
|
|
fi
|
|
prev_mon="$mon"
|
|
done
|
|
fi
|
|
|
|
. maybe_source_env_file bspwm-after
|