forked from Shinonome/dots-hyprland
stuff
This commit is contained in:
Executable
+84
@@ -0,0 +1,84 @@
|
||||
#!/usr/bin/bash
|
||||
dostuff(){
|
||||
sinks=$(pactl list sink-inputs \
|
||||
| grep -e "Sink Input" \
|
||||
| sed 's/Sink Input #//')
|
||||
names=$(pactl list sink-inputs \
|
||||
| sed 's/"//g' \
|
||||
| sed 's/application-name://' \
|
||||
| grep -e "application.name" \
|
||||
| sed 's/application.name = //' \
|
||||
| sed 's/\t\t//' )
|
||||
vols=$(pactl list sink-inputs \
|
||||
| grep -e "Volume:" \
|
||||
| sed 's/Volume: front-left: //' \
|
||||
| sed 's/front-right: //' \
|
||||
| sed 's/front-right: //' \
|
||||
| tr " " "\n" \
|
||||
| grep -e % \
|
||||
| sed 's/%//g' )
|
||||
binaries=$(pactl list sink-inputs \
|
||||
| grep -e 'application.process.binary' -e 'application.icon_name' \
|
||||
| sed 's/\t//g' \
|
||||
| sed 's/application.process.binary = //g' \
|
||||
| sed 's/application.icon_name = //g' \
|
||||
| sed 's/"//g' )
|
||||
|
||||
# echo "-=-=-=-=-=-=-=-=- Debug: Raw value -=-=-=-=-=-=-=-=-"
|
||||
# echo "$sinks"
|
||||
# echo "$names"
|
||||
# echo "$vols"
|
||||
|
||||
IFS=$'\n'
|
||||
sinkarr=($(echo "$sinks"))
|
||||
namearr=($(echo "$names"))
|
||||
volarr=($(echo "$vols"))
|
||||
iconarr=($(echo "$binaries"))
|
||||
|
||||
# Get icons
|
||||
for i in "${!iconarr[@]}"; do
|
||||
iconarr[$i]=$(geticons -t "$(gsettings get org.gnome.desktop.interface icon-theme | sed "s/'//g")" ${iconarr[i]} | head -n 1)
|
||||
done
|
||||
|
||||
# Functions
|
||||
sanitize() {
|
||||
echo "$1" | sed 's/"/\"/g'
|
||||
}
|
||||
|
||||
geticon() {
|
||||
# notify-send "${volarr[$((i*2))]}"
|
||||
if [ "${volarr[$(($1*2))]}" -eq "0" ]; then
|
||||
echo ""
|
||||
else
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
# Print final JSON
|
||||
printf '['
|
||||
for i in "${!sinkarr[@]}"; do
|
||||
if [ $i -ne 0 ]; then
|
||||
printf ', '
|
||||
fi
|
||||
echo -n '{''"sink": "'"${sinkarr[$i]}"'", "name": "'"${namearr[$i]}"'", "volume": "'"${volarr[$((i*2))]}"'"}'
|
||||
# echo -n '{''"sink": "'"${sinkarr[$i]}"'", "icon": "'"${iconarr[$i]}"'", "name": "'"${namearr[$i]}"'", "volume": "'"${volarr[$((i*2))]}"'"}'
|
||||
done
|
||||
printf ']\n'
|
||||
|
||||
# echo "$sinks"
|
||||
# echo "$names"
|
||||
# echo "$vols"
|
||||
}
|
||||
|
||||
|
||||
cd ~/.config/eww
|
||||
# dostuff
|
||||
scripts/audioapps
|
||||
|
||||
if [ "$1" == "--once" ]; then
|
||||
exit 0
|
||||
else
|
||||
pactl subscribe | rg --line-buffered "on sink" | while read -r _; do
|
||||
scripts/audioapps
|
||||
done
|
||||
fi
|
||||
Reference in New Issue
Block a user