aboutsummaryrefslogtreecommitdiff
path: root/bspwm/scripts/bspwm/desktops.sh
blob: c41754bc48850431088a68e93bdc7e076f2f6cef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/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

                # If the desktop is empty, delete it
                nodes=$(bspc query -d ${desktop} -N)
                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 --one-shot node=@$name:/
                    signal-desktop &
                    ;;
                Musique)
                    bspc node @$name:/ -i
                    bspc rule --add Gmpc --one-shot node=@$name:/
                    gmpc &
                    ;;
                Web)
                    bspc node @$name:/ -i
                    bspc rule --add Firefox-esr --one-shot node=@$name:/
                    firefox &
                    ;;
                Mail)
                    bspc node @$name:/ -i
                    bspc rule --add thunderbird --one-shot node=@$name:/
                    thunderbird &
                    ;;
            esac
            ;;
        desktop_rename)
            bspc monitor -o $(bspc query --names -D | sort -V | tr -s '\n' ' ')
            ;;
    esac
done