diff options
| author | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-08-30 01:01:48 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-08-31 05:20:12 +0530 |
| commit | 42a02dea80094145bea4f07c72e84a5868d63e69 (patch) | |
| tree | 4c307e7a03b55f3ed2441cb4e759d6373b907a66 /modules/desktop/eww/bar.yuck | |
| parent | 66e401fb6324c073a0770e0a4afe6d5cca830046 (diff) | |
| download | home-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.yuck | 16 |
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" |
