summaryrefslogtreecommitdiff
path: root/mac/.config/sketchybar.mon/plugins/space.sh
blob: 70f3ac41e186cfdd35aca32dad2f56804f3b3cee (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
57
58
59
60
61
62
#!/bin/bash

source "$CONFIG_DIR/globalstyles.sh"

if [ "$SELECTED" = "true" ]; then
	COLOR=$HIGHLIGHT
	OFFSET=-12 # under line
	WIDTH="dynamic"
else
	COLOR=$TRANSPARENT
fi

sketchybar --animate tanh 10 \
	--set $NAME icon.highlight=$SELECTED \
	label.highlight=$SELECTED \
	background.color=$COLOR \
	background.y_offset=$OFFSET

update() {
	source "$CONFIG_DIR/colors.sh"
	COLOR=$BACKGROUND_2
	WIDTH="dynamic"

	sketchybar --set $NAME icon.highlight=$SELECTED \
		label.highlight=$SELECTED \
		background.border_color=$COLOR \
		sketchybar --animate tanh 8 \
		label.width=$WIDTH \
}

set_space_label() {
	sketchybar --set $NAME icon="$@"
}

mouse_clicked() {
	if [ "$BUTTON" = "right" ]; then
		yabai -m space --destroy $SID
		sketchybar --trigger space_change --trigger windows_on_spaces
	else
		if [ "$MODIFIER" = "shift" ]; then
			SPACE_LABEL="$(osascript -e "return (text returned of (display dialog \"Give a name to space $NAME:\" default answer \"\" with icon note buttons {\"Cancel\", \"Continue\"} default button \"Continue\"))")"
			if [ $? -eq 0 ]; then
				if [ "$SPACE_LABEL" = "" ]; then
					set_space_label "${NAME:6}"
				else
					set_space_label "${NAME:6} ($SPACE_LABEL)"
				fi
			fi
		else
			yabai -m space --focus $SID 2>/dev/null
		fi
	fi
}

case "$SENDER" in
"mouse.clicked")
	mouse_clicked
	;;
*)
	update
	;;
esac