|
|
|
@@ -7,7 +7,7 @@
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
if ! pgrep bspwm > /dev/null 2>&1; then
|
|
|
|
|
tsk_log "Not under bspwm"
|
|
|
|
|
tsk_log "Not under bspwm" 1
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
@@ -20,34 +20,34 @@ desktops_secondary=$(($desktops_total - $desktops_primary))
|
|
|
|
|
|
|
|
|
|
# Sanity checks
|
|
|
|
|
if ! [[ "$desktops_total" -ge 1 ]]; then
|
|
|
|
|
tsk_log "desktops_total cannot be $desktops_total, defaulting to 8"
|
|
|
|
|
tsk_log "desktops_total cannot be $desktops_total, defaulting to 8" 0
|
|
|
|
|
desktops_total=8
|
|
|
|
|
fi
|
|
|
|
|
if ! [[ "$desktops_primary" -ge 1 ]]; then
|
|
|
|
|
tsk_log "desktops_primary cannot be $desktops_primary, defaulting to 6"
|
|
|
|
|
tsk_log "desktops_primary cannot be $desktops_primary, defaulting to 6" 0
|
|
|
|
|
desktops_primary=6
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Do we have enough desktops for all monitors?
|
|
|
|
|
# We can correct this without defaulting, so don't error
|
|
|
|
|
if [[ $desktops_secondary -lt ${#monitors_secondary[@]} ]]; then
|
|
|
|
|
tsk_log "Configuration would leave some monitors without desktops; adding more"
|
|
|
|
|
tsk_log "Configuration would leave some monitors without desktops; adding more" 0
|
|
|
|
|
desktops_secondary=${#monitors_secondary[@]}
|
|
|
|
|
desktops_total=$(($desktops_secondary + $desktops_primary))
|
|
|
|
|
deskpermon=1
|
|
|
|
|
tsk_log "Remaining desktops set to $desktops_secondary, highest desktop is now $desktops_total"
|
|
|
|
|
tsk_log "Remaining desktops set to $desktops_secondary, highest desktop is now $desktops_total" 0
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Can we actually reach all of these desktops via keybinds?
|
|
|
|
|
if [[ $desktops_total -gt 10 ]]; then
|
|
|
|
|
tsk_log "More than ten desktops were allocated! Not all of these can be reached via keybinds!"
|
|
|
|
|
tsk_log "More than ten desktops were allocated! Not all of these can be reached via keybinds!" 0
|
|
|
|
|
if [[ $(($desktops_total - $desktops_secondary)) -gt 0 ]]; then
|
|
|
|
|
tsk_log "Adjusting primary desktop reservation"
|
|
|
|
|
tsk_log "Adjusting primary desktop reservation" 0
|
|
|
|
|
desktops_primary=$(($desktops_total - $desktops_secondary))
|
|
|
|
|
tsk_log "Set reserved desktops to $desktops_primary"
|
|
|
|
|
tsk_log "Set reserved desktops to $desktops_primary" 0
|
|
|
|
|
else
|
|
|
|
|
tsk_log "Cannot resolve this situation without starving the primary monitor of desktops!"
|
|
|
|
|
tsk_log "This may result in desktops being allocated that cannot be easily accessed!"
|
|
|
|
|
tsk_log "Cannot resolve this situation without starving the primary monitor of desktops!" 1
|
|
|
|
|
tsk_log "This may result in desktops being allocated that cannot be easily accessed!" 1
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
@@ -65,7 +65,7 @@ else
|
|
|
|
|
tsk_log "Giving primary monitor $monitor_primary layout \"$layout\""
|
|
|
|
|
bspc monitor $monitor_primary -d $layout
|
|
|
|
|
unset layout
|
|
|
|
|
tsk_log "Attempting to put $desktops_secondary desktops across ${#monitors_secondary[@]} monitors, $deskpermon each"
|
|
|
|
|
tsk_log "Attempting to put $desktops_secondary desktops across ${#monitors_secondary[@]} monitors, $deskpermon each" 0
|
|
|
|
|
for m in $(seq 0 $((${#monitors_secondary[@]} - 1))); do
|
|
|
|
|
layout=$(seq --separator=" " $((1 + $m + $desktops_primary)) ${#monitors_secondary[@]} "$desktops_total")
|
|
|
|
|
tsk_log "Giving monitor $m (${monitors_secondary[$m]}) layout \"$layout\""
|
|
|
|
|