aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop/eww/bar.yuck
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-08-30 02:06:32 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-08-31 05:20:18 +0530
commit65e34d3c578ba09346317d8b5cdeedcb73481767 (patch)
tree0c5e971df9452350bb37142520a94bc506a09ddd /modules/desktop/eww/bar.yuck
parent142a45065b83b69ea103b28233bae76bdf775300 (diff)
downloadhome-manager-config-65e34d3c578ba09346317d8b5cdeedcb73481767.tar.gz
home-manager-config-65e34d3c578ba09346317d8b5cdeedcb73481767.zip
refactor: moved eww bar into its dedicated sub sub module
Diffstat (limited to 'modules/desktop/eww/bar.yuck')
-rw-r--r--modules/desktop/eww/bar.yuck86
1 files changed, 0 insertions, 86 deletions
diff --git a/modules/desktop/eww/bar.yuck b/modules/desktop/eww/bar.yuck
deleted file mode 100644
index 2f5046d..0000000
--- a/modules/desktop/eww/bar.yuck
+++ /dev/null
@@ -1,86 +0,0 @@
-(defpoll time :interval "10s" "date '+%I:%M'")
-(defpoll ampm :interval "10s" "date '+%p'")
-(defpoll date :interval "60s" "date '+%d/%m'")
-(defpoll full_date :interval "60s" "date '+%A, %d %B %Y'")
-(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\"}}"
- "@@system-stats-script@@")
-
-(defwindow bar
- :monitor 0
- :geometry (geometry
- :x "0px"
- :y "0px"
- :width "60px"
- :height "100%"
- :anchor "top right")
- :stacking "fg"
- :focusable "none"
- :reserve (struts :distance "60px" :side "right")
- (bar-content))
-
-(defwidget bar-content []
- (box :orientation "v"
- :space-evenly false
- :class "bar-container"
- :vexpand true
- (workspaces-widget :workspaces "${niri_status.workspaces}")
- (windows-widget :windows "${niri_status.active_windows}")
- (system-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}"
- :cursor "pointer" :halign "fill"
- :tooltip "${ws.tooltip}"
- (box :class "workspace-button ${ws.is_active ? 'active' : ''}" :halign "fill"
- (overlay :halign "fill"
- (image :class "workspace-icon"
- :path "${ws.icon}"
- :image-width 20 :image-height 20)
- (label :class "workspace-idx" :text "${ws.idx}" :halign "end" :valign "end")))))))
-
-(defwidget windows-widget [windows]
- (box :orientation "v" :space-evenly false :spacing 4 :halign "center" :class "windows" :vexpand true
- (for w in windows
- (eventbox :onclick "niri msg action focus-window --id ${w.id}"
- :cursor "pointer"
- :halign "fill"
- :tooltip "${w.app_id}: ${w.title != '' ? ' ' : ''}${w.title}"
- (box :halign "fill" :class "window-button ${w.is_focused ? 'focused' : ''}"
- (image :class "window-icon" :path "${w.icon}" :image-width 20 :image-height 20))))))
-
-(defwidget system-widget []
- (box :orientation "v" :space-evenly false :spacing 6 :halign "fill" :class "system"
- (box :orientation "v" :class "system-item" :halign "fill" :space-evenly false :spacing 4
- :tooltip "${system_stats.net.tooltip}"
- (image :class "system-icon"
- :path "${system_stats.net.status == 'down' ? '@@icon-offline@@' : system_stats.net.routes[0].type == 'wifi' ? '@@icon-wifi@@' : system_stats.net.routes[0].type == 'ethernet' ? '@@icon-ethernet@@' : system_stats.net.routes[0].type == 'tun' ? '@@icon-proxy@@' : '@@icon-offline@@'}"
- :image-width 24 :image-height 24)
- (label :class "system-label small"
- :text "${system_stats.net.status == 'down' ? '-' : system_stats.net.routes[0].tx}")
- (label :class "system-label small"
- :text "${system_stats.net.status == 'down' ? '-' : system_stats.net.routes[0].rx}"))
- (box :orientation "v" :class "system-item" :space-evenly false :spacing 4
- :tooltip "${system_stats.cpu.tooltip}"
- (image :class "system-icon" :path "@@icon-cpu@@" :image-width 24 :image-height 24)
- (label :class "system-label" :text "${system_stats.cpu.percent}%"))
- (box :orientation "v" :class "system-item" :space-evenly false :spacing 4
- :tooltip "${system_stats.ram.tooltip}"
- (image :class "system-icon" :path "@@icon-ram@@" :image-width 24 :image-height 24)
- (label :class "system-label" :text "${system_stats.ram.percent}%"))
- (eventbox :onclick "pamixer --toggle-mute"
- :onscroll "bash -c '[ \"{}\" = \"up\" ] && pamixer --increase 5 --unmute || pamixer --decrease 5'"
- :cursor "pointer" :halign "fill"
- (box :orientation "v" :space-evenly false :spacing 4 :class "system-item"
- :tooltip "${system_stats.sound.tooltip}"
- (image :class "system-icon" :path "@@icon-audio@@" :image-width 24 :image-height 24)
- (label :class "system-label" :text "${system_stats.sound.mute ? '-' : (system_stats.sound.percent + '%')}")))
- (box :orientation "v" :class "system-item" :space-evenly false :spacing 4
- :tooltip "${full_date} ${time} (${date})"
- (image :class "system-icon" :path "@@icon-calendar@@" :image-width 24 :image-height 24)
- (label :class "system-label small" :text time)
- (label :class "system-label small" :text ampm)
- (label :class "system-label small" :text date))))