#!/bin/sh bspc subscribe desktop | while read -r event monitor_id desktop_id name; do case $event in desktop_focus) ~/scripts/bspwm/wallpaper.sh & for desktop in $(bspc query -D); do test "x${desktop}" = "x${desktop_id}" && continue nodes=$(bspc query -d ${desktop} -N) # If the desktop is empty, delete it test -z "${nodes}" && bspc desktop ${desktop} -r done ;; desktop_add) bspc monitor -o $(bspc query --names -D| sort -V | tr -s '\n' ' ') case $name in Chat) bspc node @$name:/ -i bspc rule --add Signal -o node=@$name:/ signal-desktop & ;; Musique) bspc node @$name:/ -i bspc rule --add Gmpc -o node=@$name:/ gmpc & ;; Web) bspc node @$name:/ -i bspc rule --add Firefox-esr -o node=@$name:/ firefox & ;; Mail) bspc node @$name:/ -i bspc rule --add thunderbird -o node=@$name:/ thunderbird & ;; esac ;; desktop_rename) bspc monitor -o $(bspc query --names -D| sort -V | tr -s '\n' ' ') ;; esac done