aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop/eww/bar.yuck
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-08-30 01:01:48 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-08-31 05:20:12 +0530
commit42a02dea80094145bea4f07c72e84a5868d63e69 (patch)
tree4c307e7a03b55f3ed2441cb4e759d6373b907a66 /modules/desktop/eww/bar.yuck
parent66e401fb6324c073a0770e0a4afe6d5cca830046 (diff)
downloadhome-manager-config-42a02dea80094145bea4f07c72e84a5868d63e69.tar.gz
home-manager-config-42a02dea80094145bea4f07c72e84a5868d63e69.zip
feat: replaced python scripts with lua
- using lua scripts where we previously used python for lower resource consumption
Diffstat (limited to 'modules/desktop/eww/bar.yuck')
-rw-r--r--modules/desktop/eww/bar.yuck16
1 files changed, 7 insertions, 9 deletions
diff --git a/modules/desktop/eww/bar.yuck b/modules/desktop/eww/bar.yuck
index f7fdf49..2f5046d 100644
--- a/modules/desktop/eww/bar.yuck
+++ b/modules/desktop/eww/bar.yuck
@@ -2,11 +2,10 @@
(defpoll ampm :interval "10s" "date '+%p'")
(defpoll date :interval "60s" "date '+%d/%m'")
(defpoll full_date :interval "60s" "date '+%A, %d %B %Y'")
-(deflisten workspaces :initial "[]" "@@workspaces-script@@")
-(deflisten active-windows :initial "[]" "@@windows-script@@")
+(deflisten niri_status :initial "{\"workspaces\":[],\"active_windows\":[]}" "@@niri-status-script@@")
(deflisten system_stats
:initial "{\"cpu\":{\"percent\":0,\"per_core\":[],\"freq_mhz\":null,\"load_avg\":null,\"tooltip\":\"CPU: 0%\"},\"ram\":{\"percent\":0,\"used\":\"0B\",\"total\":\"0B\",\"available\":\"0B\",\"swap_percent\":0,\"swap_used\":\"0B\",\"swap_total\":\"0B\",\"speed_mhz\":null,\"tooltip\":\"RAM: 0%\"},\"net\":{\"status\":\"down\",\"tooltip\":\"Network Offline\",\"routes\":[]},\"sound\":{\"percent\":0,\"mute\":true,\"sink\":null,\"tooltip\":\"Volume: unknown\"}}"
- "@@systemstats-script@@")
+ "@@system-stats-script@@")
(defwindow bar
:monitor 0
@@ -26,11 +25,11 @@
:space-evenly false
:class "bar-container"
:vexpand true
- (workspaces-widget)
- (windows-widget)
+ (workspaces-widget :workspaces "${niri_status.workspaces}")
+ (windows-widget :windows "${niri_status.active_windows}")
(system-widget)))
-(defwidget workspaces-widget []
+(defwidget workspaces-widget [workspaces]
(box :orientation "v" :space-evenly false :spacing 4 :halign "fill" :class "workspaces"
(for ws in workspaces
(eventbox :onclick "niri msg action focus-workspace ${ws.idx}"
@@ -43,10 +42,9 @@
:image-width 20 :image-height 20)
(label :class "workspace-idx" :text "${ws.idx}" :halign "end" :valign "end")))))))
-(defwidget windows-widget []
+(defwidget windows-widget [windows]
(box :orientation "v" :space-evenly false :spacing 4 :halign "center" :class "windows" :vexpand true
-
- (for w in active-windows
+ (for w in windows
(eventbox :onclick "niri msg action focus-window --id ${w.id}"
:cursor "pointer"
:halign "fill"