blob: ec18150197fd1dfb8beff5084dd227af75ffd27c (
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
#! /bin/bash
tsarc config -font "CommitMono:pixelsize=15"
tsarc config -height 20
tsarc config -bg "#101010"
tsarc config -gap 10
tsarc set ~ -text "~"
tsarc set ~ -fg "#888888"
tsarc set ram -fg "#888888"
tsarc set vol -fg "#888888"
tsarc set player -fg "#888888"
tsarc set window -bg "#FFFFFF"
tsarc set window -fg "#000000"
tsarc set window -margin 25
tsarc set cwkspace -bg "#FFFFFF"
tsarc set cwkspace -fg "#000000"
tsarc set cwkspace -margin 2
tsarc layout \
-left lwkspace cwkspace rwkspace ~ player \
-center window \
-right ram ~ vol ~ clock
workspace() {
focused_ws=`bspc query -D --names -d focused`
ws=`bspc query -D --names | tr '\n' ' '`
lws=`echo $ws | awk -F$focused_ws '{print $1}'`
rws=`echo $ws | awk -F$focused_ws '{print $2}'`
tsarc set lwkspace -text " $lws"
tsarc set cwkspace -text "$focused_ws"
tsarc set rwkspace -text "$rws"
}
window_name() {
win_id=$(bspc query -N -n focused)
if [[ -n "$win_id" ]]; then
title=`xtitle $win_id \
| awk 'length > 64{$0=substr($0,0,64)"..."}1' \
| tr '[:upper:]' '[:lower:]'`
tsarc set window -text "$title" -fg "#000000" -bg "#FFFFFF"
else
tsarc set window -text "no window focused" -fg "#CCCCCC" -bg "#404040"
fi
}
bspc subscribe desktop_focus desktop_add desktop_remove \
| while read -r _; do
workspace
done &
volume() {
tsarc set vol -text \
"vol `pactl get-sink-volume @DEFAULT_SINK@ | awk 'NR==1{printf "%s", $5}'`"
}
volume
pactl subscribe \
| while read -r line; do
case "$line" in *"Event 'change' on sink #"*|*"Event 'change' on source #"*)
volume
while read -t 0.01 -r _; do :; done
esac
done &
playerctl -F metadata -f "{{lc(status)}} {{lc(title)}} - {{lc(artist)}}" \
| while read -r line; do
status=`echo $line | awk '{ print $1 }'`
case "$status" in "paused")
tsarc set player -text "no media"
esac
case "$status" in "playing")
tsarc set player -text \
"`echo $line | awk 'match($0, $1) {print substr($0, RSTART+RLENGTH)}' | xargs`"
esac
done &
while true; do
tsarc set ram -text "ram `free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2}'`"
tsarc set clock -text "`date +"%a %b %d, %r" | tr '[:upper:]' '[:lower:]'` "
window_name
sleep 1
done
|