From 54f98286a65fa484798416143fdea7a7f09d0095 Mon Sep 17 00:00:00 2001 From: pyrschtjag Date: Tue, 7 Apr 2026 13:38:59 +0400 Subject: [PATCH] fix: resolve infinite loop on nfs share discovery feat: switched to dynamic coretemp for defpoll temp --- eww/eww.yuck | 7 ++++--- eww/scripts/disk.py | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) create mode 100755 eww/scripts/disk.py diff --git a/eww/eww.yuck b/eww/eww.yuck index 06c65c8..d42d120 100644 --- a/eww/eww.yuck +++ b/eww/eww.yuck @@ -21,8 +21,9 @@ ;; пуллы (defpoll timestr :interval "1s" "date '+%H:%M'") (defpoll datestr :interval "1m" "date '+%A, %B %d'") -(defpoll temp :interval "30s" :initial "0" "awk '{print int($1/1000)}' /sys/class/hwmon/hwmon2/temp1_input") +(defpoll temp :interval "5s" :initial "0" "cat /sys/class/hwmon/$(grep -l 'coretemp' /sys/class/hwmon/hwmon*/name | cut -d/ -f5)/temp1_input | awk '{print int($1/1000)}'") (defpoll gpu_temp :interval "30s" :initial "0" "nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits") +(defpoll disk_free :interval "1m" "python3 $HOME/.config/eww/scripts/disk.py") ;; ============== ;; воркспейсы @@ -103,7 +104,7 @@ (group :icon "󰍛" :value "${round(EWW_RAM.used_mem_perc, 0)}%" :alert {EWW_RAM.used_mem_perc > 90}) (revealer :reveal reveal_state :transition "slideleft" (box :space-evenly false :class "slide-wrapper" - (group :icon "󱛟" :value "${round(EWW_DISK['/'].free / 1073741824, 1)}GB" :alert {EWW_DISK['/'].free / 1073741824 < 10}) + (group :icon "󱛟" :value "${round(disk_free, 1)}GB" :alert {disk_free < 10}) (group :icon "" :value "${temp}°" :alert {(temp ?: 0) > 75}) (group :icon "󰢮" :value "${gpu_temp}°" :alert {(gpu_temp ?: 0) > 75})))))) @@ -168,4 +169,4 @@ (defwindow wallpaper_1 :monitor 1 :stacking "bg" :focusable false :geometry (geometry :width "100%" :height "100%") - (box :style "background-image: url('/home/pyrschtjag/Pictures/wallhaven-7jj86e.jpg'); background-size: cover;")) \ No newline at end of file + (box :style "background-image: url('/home/pyrschtjag/Pictures/wallhaven-7jj86e.jpg'); background-size: cover;")) diff --git a/eww/scripts/disk.py b/eww/scripts/disk.py new file mode 100755 index 0000000..37d6f0d --- /dev/null +++ b/eww/scripts/disk.py @@ -0,0 +1,22 @@ +import os +import sys +import subprocess + +class DiskMonitor: + def __init__(self, path="/"): + self.path = path + + def get_free_gb(self): + try: + st = os.statvfs(self.path) + free_bytes = st.f_bavail * st.f_frsize + return round(free_bytes / (1024**3), 1) + except Exception: + return 0.0 + + def push_update(self): + sys.stdout.write(f"{self.get_free_gb()}\n") + sys.stdout.flush() + +if __name__ == "__main__": + DiskMonitor().push_update()