feat(eww): make some scripts always run at start. make bluetooth state persistent

This commit is contained in:
matt1432 2023-08-09 22:11:09 -04:00
parent 1e0017a467
commit 96a81d7e5b
4 changed files with 42 additions and 17 deletions

View file

@ -1,5 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
FILE="$HOME/.config/.bluetooth"
get_device() { get_device() {
if [[ $(bluetoothctl devices Connected) != "" ]]; then if [[ $(bluetoothctl devices Connected) != "" ]]; then
bluetoothctl devices Connected | awk '{ for (i = 3; i <= NF; i++) { printf("%s ", $i) } printf("\n") }' bluetoothctl devices Connected | awk '{ for (i = 3; i <= NF; i++) { printf("%s ", $i) } printf("\n") }'
@ -10,9 +12,9 @@ get_device() {
get_state() { get_state() {
if [[ "$(rfkill list | grep -A 1 hci0 | grep -o no)" == "no" ]]; then if [[ "$(rfkill list | grep -A 1 hci0 | grep -o no)" == "no" ]]; then
echo " 󰂯 " echo " 󰂯 " > "$FILE"
else else
echo " 󰂲 " echo " 󰂲 " > "$FILE"
fi fi
} }
@ -23,5 +25,6 @@ if [[ $1 == "icon" ]]; then
while true; do while true; do
sleep 0.1 sleep 0.1
get_state get_state
tail "$FILE"
done done
fi fi

View file

@ -1,10 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
FILE="$HOME/.config/.heart" FILE="$HOME/.config/.heart"
if [[ ! -f "$FILE" ]]; then
echo 󰣐 > "$FILE"
fi
toggle() {
if grep -q 󰣐 "$FILE"; then if grep -q 󰣐 "$FILE"; then
eww close heart eww close heart
eww update heart-ts=false eww update heart-ts=false
@ -14,3 +12,25 @@ else
eww update heart-ts=true eww update heart-ts=true
echo 󰣐 >> "$FILE" echo 󰣐 >> "$FILE"
fi fi
}
[[ "$1" == "toggle" ]] && toggle
startup() {
if [[ ! -f "$FILE" ]]; then
echo 󰣐 > "$FILE"
fi
if [[ ! -f "$HOME/.config/.bluetooth" ]]; then
echo 󰂲 > "$FILE"
fi
if grep -q 󰂲 "$HOME/.config/.bluetooth"; then
rfkill block bluetooth
fi
tail -f "$FILE"
}
[[ "$1" == "startup" ]] && startup

View file

@ -92,7 +92,7 @@
(defvar heart-ts "default") (defvar heart-ts "default")
(defwidget heart-toggle-on [] (defwidget heart-toggle-on []
(eventbox :class "toggle-on" (eventbox :class "toggle-on"
:onclick "$EWW_PATH/heart.sh" :onclick "$EWW_PATH/heart.sh toggle"
:cursor "pointer" :cursor "pointer"
(box :class "heart-toggle" (box :class "heart-toggle"
@ -103,7 +103,7 @@
) )
(defwidget heart-toggle-off [] (defwidget heart-toggle-off []
(eventbox :class "toggle-off" (eventbox :class "toggle-off"
:onclick "$EWW_PATH/heart.sh" :onclick "$EWW_PATH/heart.sh toggle"
:cursor "pointer" :cursor "pointer"
(box :class "heart-toggle" (box :class "heart-toggle"

View file

@ -1,5 +1,7 @@
; this var starts all scripts needed when eww boots
(deflisten heart_icon "$EWW_PATH/heart.sh startup")
(deflisten notif_icon "$EWW_PATH/notif.sh icon") (deflisten notif_icon "$EWW_PATH/notif.sh icon")
(deflisten heart_icon "tail -f $HOME/.config/.heart")
(deflisten mic_icon "$EWW_PATH/mic.sh icon") (deflisten mic_icon "$EWW_PATH/mic.sh icon")
(deflisten network_ssid "zscroll -d 0.7 -l 12 -p '. ' -u true \"$EWW_PATH/network.sh ssid\"") (deflisten network_ssid "zscroll -d 0.7 -l 12 -p '. ' -u true \"$EWW_PATH/network.sh ssid\"")