You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
901 B
36 lines
901 B
#!/bin/sh |
|
|
|
# Suppress output |
|
NULL="" |
|
|
|
# Scroll up, scroll down |
|
if [ "$WM" = "bspwm" ];then |
|
SWITCH="bspc desktop -f" |
|
|
|
U="A4:$SWITCH prev.local:" |
|
D="A5:$SWITCH next.local:" |
|
elif [ "$WM" = "i3" ];then |
|
SWITCH="i3-msg workspace" |
|
NULL="> /dev/null 2>&1" |
|
|
|
U="A4:$SWITCH prev_on_output $NULL:" |
|
D="A5:$SWITCH next_on_output $NULL:" |
|
fi |
|
|
|
CURRENT=$(xprop -root _NET_CURRENT_DESKTOP | awk '{print $3 + 1}') |
|
WORKSPACES="$(xprop -root '\n$0\n$1\n$2\n$3\n$4\n$5\n$6\n$7\n$8\n$9' _NET_DESKTOP_NAMES \ |
|
| awk -v c="$CURRENT" -v s="$SWITCH" -v n="$NULL" \ |
|
-v c7="$COLOR7" -v c15="$COLOR15" -v b="$BGCOLOR" -v bi="$BGCOLOR_INACTIVE" ' |
|
/".*"/ { |
|
name = substr($0, 2, length($0) - 2); |
|
|
|
if (c == FNR - 1) |
|
printf "%{B%s} %s %{B%s}", |
|
b, name, bi |
|
else |
|
printf "%{F%s}%{A:%s \"%s\" %s:} %s %{A}%{F%s}", |
|
c7, s, name, n, name, c15 |
|
} |
|
')" |
|
|
|
printf "%s\n" "workspaces%{$U}%{$D}$WORKSPACES%{A}%{A}"
|
|
|