blob: d63b0aadc5d066d2e0441f9bfa8124a50a4572a7 (
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
44
45
46
47
48
49
50
51
52
53
54
55
56
|
#!/bin/sh
set -u
#set -e
# Execute an application when creating the desktop
#
run_desktop() {
name=$1
application=$2
window_name=$3
bspc node @$name:/ -i
gspc rule --add $window_name --one-shot node=@$name:/
$application &
}
# This script is designed to be used with sxhkd/rofi_new.sh which populate the
# rof menu with the values.
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)
run_desktop $name signal-desktop Signal
;;
Musique)
run_desktop $name gmpc Gmpc
;;
Web)
run_desktop $name firefox-esr firefox-esr
;;
Mail)
run_desktop $name thunderbird thunderbird
;;
Discord)
run_desktop $name discord discord
;;
esac
;;
desktop_rename)
bspc monitor -o $(bspc query --names -D | sort -V | tr -s '\n' ' ')
;;
esac
done
|