aboutsummaryrefslogtreecommitdiff
path: root/bspwm/scripts/bspwm/desktops.sh
blob: 61d75b5ed872d788ef64873c1a395ee575fefe7b (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

                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