user/eww: init

This commit is contained in:
LavaDesu 2022-03-22 23:50:53 +07:00
parent ed93b93c43
commit 5a4b56580b
Signed by: cilly
GPG key ID: 6500251E087653C9
12 changed files with 202 additions and 3 deletions

3
res/eww/scripts/scroll.sh Executable file
View file

@ -0,0 +1,3 @@
#!/usr/bin/env sh
translated=$([ "$1" == "up" ] && echo "prev" || echo "next")
bspc desktop -f $translated

10
res/eww/scripts/title.sh Executable file
View file

@ -0,0 +1,10 @@
#!/usr/bin/env sh
xtitle -s | while read -r line ; do
trunc=$(echo $line | cut -c-85)
if [ -z "$line" ]; then
echo ""
else
echo "(box :class \"widget title\" :halign \"center\" :valign \"center\" :vexpand true :hexpand true (label :text \"${trunc}\"))"
fi
done

47
res/eww/scripts/workspaces.sh Executable file
View file

@ -0,0 +1,47 @@
#!/usr/bin/env sh
# Checks if a list ($1) contains an element ($2)
contains() {
for e in $1; do
[ "$e" -eq "$2" ] && echo 1 && return
done
echo 0
}
print_workspaces() {
buf=""
desktops=$(bspc query -D --names)
focused_desktop=$(bspc query -D -d focused --names)
occupied_desktops=$(bspc query -D -d .occupied --names)
urgent_desktops=$(bspc query -D -d .urgent --names)
for d in $desktops; do
if [ "$(contains "$focused_desktop" "$d")" -eq 1 ]; then
ws=$d
icon=""
class="focused"
elif [ "$(contains "$occupied_desktops" "$d")" -eq 1 ]; then
ws=$d
icon=""
class="occupied"
elif [ "$(contains "$urgent_desktops" "$d")" -eq 1 ]; then
ws=$d
icon=""
class="urgent"
else
ws=$d
icon=""
class="empty"
fi
buf="$buf (eventbox :cursor \"hand\" (button :class \"$class\" :onclick \"bspc desktop -f $ws\" \"$icon\"))"
done
echo "(box :class \"widget workspaces\" :halign \"start\" :valign \"center\" :vexpand true :hexpand true $buf)"
}
# Listen to bspwm changes
print_workspaces
bspc subscribe desktop node_transfer | while read -r _ ; do
print_workspaces
done