From 0da34f318ec989a395d16f69c8fbd4df2965a362 Mon Sep 17 00:00:00 2001 From: The_miro Date: Thu, 8 May 2025 18:53:50 +0200 Subject: [PATCH] added the changes to the no battery version of the top bar --- desktopenvs/hyprland/eww-nobattery/eww | 1 + desktopenvs/hyprland/eww-nobattery/eww.yuck | 18 ++--- .../eww-nobattery/scripts/batteryperc | 73 ++++++++++--------- .../eww-nobattery/scripts/batteryperc.old | 37 ++++++++++ .../hyprland/eww-nobattery/scripts/drawer.sh | 3 + desktopenvs/hyprland/eww-nobattery/scripts/ip | 3 + .../eww-nobattery/scripts/playpause.sh | 2 + 7 files changed, 94 insertions(+), 43 deletions(-) create mode 120000 desktopenvs/hyprland/eww-nobattery/eww create mode 100644 desktopenvs/hyprland/eww-nobattery/scripts/batteryperc.old create mode 100755 desktopenvs/hyprland/eww-nobattery/scripts/drawer.sh create mode 100755 desktopenvs/hyprland/eww-nobattery/scripts/ip create mode 100755 desktopenvs/hyprland/eww-nobattery/scripts/playpause.sh diff --git a/desktopenvs/hyprland/eww-nobattery/eww b/desktopenvs/hyprland/eww-nobattery/eww new file mode 120000 index 0000000..8cc1b00 --- /dev/null +++ b/desktopenvs/hyprland/eww-nobattery/eww @@ -0,0 +1 @@ +/home/themiro/Dotfiles/desktopenvs/hyprland/eww/ \ No newline at end of file diff --git a/desktopenvs/hyprland/eww-nobattery/eww.yuck b/desktopenvs/hyprland/eww-nobattery/eww.yuck index b9da6d9..76057fe 100644 --- a/desktopenvs/hyprland/eww-nobattery/eww.yuck +++ b/desktopenvs/hyprland/eww-nobattery/eww.yuck @@ -1,6 +1,7 @@ (defwindow bar [monitor] :monitor monitor + :class "ewwbar" :windowtype "dock" :geometry (geometry :x "0%" :y "1%" @@ -10,10 +11,6 @@ :exclusive true (bar :monitor_ monitor)) -(defpoll battery :interval "2s" - "scripts/batteryperc") - - (defwidget bar [monitor_] (centerbox :orientation "h" @@ -24,13 +21,13 @@ (defwidget winsworks [monitor] (box :orientation "h" :space-evenly false :halign "start" (workspaceWidget :monitor monitor) - (box :onclick "scripts/windowswitcher" :class "music" {" ${activewindow}"}) - ) + (button :onclick "scripts/drawer.sh" :class "music" {" ${activewindow}"}) + ) ) (defwidget sidestuff [] (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end" - (box :class "music" {"󰛳 ${IP}"}) + (box :class "music" {"󰛳 ${IP}"}) (metric :label "󰓃" :value volume :onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%") @@ -41,10 +38,11 @@ )) (defwidget music [] - (box :class "music" + (button :class "music" :orientation "h" :space-evenly false :halign "center" + :onclick "scripts/playpause.sh" {music != "" ? " ${music}" : " None"})) @@ -85,9 +83,9 @@ (defpoll activewindow :interval "0.5s" "scripts/activewindow") -(defpoll IP :interval "600s" - "hostname -i") +(defpoll IP :interval "5s" + "scripts/ip") (defpoll volume :interval "0.5s" "scripts/getvol") diff --git a/desktopenvs/hyprland/eww-nobattery/scripts/batteryperc b/desktopenvs/hyprland/eww-nobattery/scripts/batteryperc index d72cb8b..6e13890 100755 --- a/desktopenvs/hyprland/eww-nobattery/scripts/batteryperc +++ b/desktopenvs/hyprland/eww-nobattery/scripts/batteryperc @@ -1,37 +1,44 @@ #!/bin/bash -perc=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage | awk -F: '{print $2}' | xargs) -state=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep state | awk -F: '{print $2}' | xargs) +# Get percentage and remove the % sign cleanly +perc=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | awk '/percentage/ {gsub("%",""); print $2}') +state=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | awk '/state/ {print $2}') -num=$(echo ${perc::-1}) - -if [ $state == "charging" ]; then - echo "󰂄 ${perc}" -else - #echo "󰁹 ${perc}" - - if [ $num -gt 95 ]; then - echo "󰁹 ${perc}" - elif [ $num -gt 90 ]; then - echo "󰂂 ${perc}" - elif [ $num -gt 80 ]; then - echo "󰂁 ${perc}" - elif [ $num -gt 70 ]; then - echo "󰂀 ${perc}" - elif [ $num -gt 60 ]; then - echo "󰁿 ${perc}" - elif [ $num -gt 50 ]; then - echo "󰁾 ${perc}" - elif [ $num -gt 40 ]; then - echo "󰁽 ${perc}" - elif [ $num -gt 30 ]; then - echo "󰁼 ${perc}" - elif [ $num -gt 20 ]; then - echo "󰁻 ${perc}" - elif [ $num -gt 10 ]; then - echo "󰁺 ${perc}" - else - notify-send --urgency=critical -t 2000 "󱃍 low battery, please charge" - echo "󰂎 ${perc}" - fi +# Check if values are not empty +if [ -z "$perc" ] || [ -z "$state" ]; then + echo "Battery info unavailable" + exit 1 fi + +# Convert to integer +num=${perc%%.*} # In case perc is float + +if [ "$state" == "charging" ]; then + echo "󰂄 ${perc}%" +else + if [ "$num" -gt 95 ]; then + echo "󰁹 ${perc}%" + elif [ "$num" -gt 90 ]; then + echo "󰂂 ${perc}%" + elif [ "$num" -gt 80 ]; then + echo "󰂁 ${perc}%" + elif [ "$num" -gt 70 ]; then + echo "󰂀 ${perc}%" + elif [ "$num" -gt 60 ]; then + echo "󰁿 ${perc}%" + elif [ "$num" -gt 50 ]; then + echo "󰁾 ${perc}%" + elif [ "$num" -gt 40 ]; then + echo "󰁽 ${perc}%" + elif [ "$num" -gt 30 ]; then + echo "󰁼 ${perc}%" + elif [ "$num" -gt 20 ]; then + echo "󰁻 ${perc}%" + elif [ "$num" -gt 10 ]; then + echo "󰁺 ${perc}%" + else + notify-send --urgency=critical -t 2000 "󱃍 low battery, please charge" + echo "󰂎 ${perc}%" + fi +fi + diff --git a/desktopenvs/hyprland/eww-nobattery/scripts/batteryperc.old b/desktopenvs/hyprland/eww-nobattery/scripts/batteryperc.old new file mode 100644 index 0000000..d72cb8b --- /dev/null +++ b/desktopenvs/hyprland/eww-nobattery/scripts/batteryperc.old @@ -0,0 +1,37 @@ +#!/bin/bash + +perc=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage | awk -F: '{print $2}' | xargs) +state=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep state | awk -F: '{print $2}' | xargs) + +num=$(echo ${perc::-1}) + +if [ $state == "charging" ]; then + echo "󰂄 ${perc}" +else + #echo "󰁹 ${perc}" + + if [ $num -gt 95 ]; then + echo "󰁹 ${perc}" + elif [ $num -gt 90 ]; then + echo "󰂂 ${perc}" + elif [ $num -gt 80 ]; then + echo "󰂁 ${perc}" + elif [ $num -gt 70 ]; then + echo "󰂀 ${perc}" + elif [ $num -gt 60 ]; then + echo "󰁿 ${perc}" + elif [ $num -gt 50 ]; then + echo "󰁾 ${perc}" + elif [ $num -gt 40 ]; then + echo "󰁽 ${perc}" + elif [ $num -gt 30 ]; then + echo "󰁼 ${perc}" + elif [ $num -gt 20 ]; then + echo "󰁻 ${perc}" + elif [ $num -gt 10 ]; then + echo "󰁺 ${perc}" + else + notify-send --urgency=critical -t 2000 "󱃍 low battery, please charge" + echo "󰂎 ${perc}" + fi +fi diff --git a/desktopenvs/hyprland/eww-nobattery/scripts/drawer.sh b/desktopenvs/hyprland/eww-nobattery/scripts/drawer.sh new file mode 100755 index 0000000..90d7420 --- /dev/null +++ b/desktopenvs/hyprland/eww-nobattery/scripts/drawer.sh @@ -0,0 +1,3 @@ +#!/bin/bash +nwg-drawer -fm "kitty -e yazi" -term kitty -wm hyprland -mb 20 -ml 20 -mr 20 -mt 20 -pblock hyprlock -pbpoweroff poweroff -pbexit "hyprctl dispatch exit" -pbreboot reboot + diff --git a/desktopenvs/hyprland/eww-nobattery/scripts/ip b/desktopenvs/hyprland/eww-nobattery/scripts/ip new file mode 100755 index 0000000..cf1aded --- /dev/null +++ b/desktopenvs/hyprland/eww-nobattery/scripts/ip @@ -0,0 +1,3 @@ +#!/bin/bash +hostname -i | tr ' ' '\n' | head -n1 | tail -n1 + diff --git a/desktopenvs/hyprland/eww-nobattery/scripts/playpause.sh b/desktopenvs/hyprland/eww-nobattery/scripts/playpause.sh new file mode 100755 index 0000000..bb8d075 --- /dev/null +++ b/desktopenvs/hyprland/eww-nobattery/scripts/playpause.sh @@ -0,0 +1,2 @@ +#!/bin/bash +playerctl play-pause -p spotify, vlc, firefox