From 68029c245778f066aff0aad1977b23f6d6f6c561 Mon Sep 17 00:00:00 2001 From: Natasha Moongrave Date: Fri, 10 Apr 2026 12:13:51 +0200 Subject: Add schrottkatze rice: Eww status bars Top bar (CPU, RAM, battery, systray, time, trans flag), bottom bar (workspaces, traveldings transit, Mullvad VPN, lesbian flag). Gruvbox CSS styling, Nushell scripts for battery and ICE train speed. --- .../eww/configDir/bottomBar/bottomBar.yuck | 77 ++++++++++++++++++++++ .../eww/configDir/bottomBar/traveldings.yuck | 37 +++++++++++ .../eww/configDir/bottomBar/workspaces.yuck | 18 +++++ 3 files changed, 132 insertions(+) create mode 100644 home/rices/schrottkatze/eww/configDir/bottomBar/bottomBar.yuck create mode 100644 home/rices/schrottkatze/eww/configDir/bottomBar/traveldings.yuck create mode 100644 home/rices/schrottkatze/eww/configDir/bottomBar/workspaces.yuck (limited to 'home/rices/schrottkatze/eww/configDir/bottomBar') diff --git a/home/rices/schrottkatze/eww/configDir/bottomBar/bottomBar.yuck b/home/rices/schrottkatze/eww/configDir/bottomBar/bottomBar.yuck new file mode 100644 index 0000000..d955d31 --- /dev/null +++ b/home/rices/schrottkatze/eww/configDir/bottomBar/bottomBar.yuck @@ -0,0 +1,77 @@ +(include "bottomBar/workspaces.yuck") +(include "bottomBar/traveldings.yuck") + +(defwindow bottomBar + :monitor 0 + :stacking "fg" + :wm-ignore true + :exclusive true + :geometry (geometry + :width "100%" + :height "33px" + :anchor "bottom center") + (bottomBar)) + +(defwidget bottomBar [] + (overlay + :class "bottomBar" + (transform + :translate-y "1.5px" + (centerbox + (box + :halign "start" + (workspaceWidget) + ) + (box + :halign "center" + (traveldings) + ) + (box + :halign "end" + ; (label :text "${iceData.speed}km/h") + (mullvadThing) + ) + ) + ) + (box + :class "lesbianFlag" + :height 1 + ( flagEl :flipped true :color "#D52D00") + ( flagEl :flipped true :color "#EF7627") + ( flagEl :flipped true :color "#FF9A56") + ( flagEl :flipped true :color "#FFFFFF") + ( flagEl :flipped true :color "#D162A4") + ( flagEl :flipped true :color "#B55690") + ( flagEl :flipped true :color "#A30262") + ) + ) +) + +(deflisten mullvad + :initial "{\"state\":\"init\"}" + `mullvad status -j listen` +) + +(defwidget mullvadThing [] + (box + :class "container" + (button + :height 16 + :width 16 + :class "mullvad-state-${mullvad.state}" + ) + ) +) + +(defwidget iceTacho [] + (box + :class "iceTacho" + :tooltip "Tz${iceTachoData.tzn} (BR ${iceTachoData.br})" + (label :text "${iceTachoData.speed} km/h") + ) +) + +(deflisten iceTachoData + :initial "null" + { "~/.config/eww/scripts/iceTacho.nu" } +) diff --git a/home/rices/schrottkatze/eww/configDir/bottomBar/traveldings.yuck b/home/rices/schrottkatze/eww/configDir/bottomBar/traveldings.yuck new file mode 100644 index 0000000..62de26e --- /dev/null +++ b/home/rices/schrottkatze/eww/configDir/bottomBar/traveldings.yuck @@ -0,0 +1,37 @@ +(defwidget traveldings [] + (revealer + :class "traveldings" + :transition "crossfade" + :reveal { traveldings_data != "null" } + (traveldingsBarWidget) + ) +) + +(defwidget traveldingsBarWidget [] + (overlay + (box + :width 640 + (label + :halign "start" + :text "${traveldings_data.line} -> ${strlength(traveldings_data.arrival_station) > 24 ? "${substring(traveldings_data.arrival_station, 0, 24)}…" : traveldings_data.arrival_station}${traveldings_data.arrival_platform_data_available ? " (Gl. ${traveldings_data.arrival_platform_real})" : ""}" + ) + (label + :halign "end" + :text { traveldings_data.time_left >= 3600 ? formattime(traveldings_data.time_left, "noch %-Hh %-Mmin", "Etc/UTC") : formattime(traveldings_data.time_left, "noch %-Mmin", "Etc/UTC") } + ) + ) + (box + (progress + :class { traveldings_data.live ? "traveldings_live" : "traveldings_disconnected" } + :value {traveldings_data.progress * 100} + :orientation "horizontal" + ) + ) + ) +) + + +(deflisten traveldings_data + :initial "null" + "traveldings current" +) diff --git a/home/rices/schrottkatze/eww/configDir/bottomBar/workspaces.yuck b/home/rices/schrottkatze/eww/configDir/bottomBar/workspaces.yuck new file mode 100644 index 0000000..2709e1b --- /dev/null +++ b/home/rices/schrottkatze/eww/configDir/bottomBar/workspaces.yuck @@ -0,0 +1,18 @@ +(defwidget workspaceWidget [] + (box + :class "workspaces" + (for workspace in workspaces + (button + :style "border-bottom: 4px solid ${workspace.color}${workspace.active ? "; background-color: #3c3836" : ""}" + :class "${workspace.focused ? "focused" : ""}" + :onclick "niri msg action focus-workspace ${workspace.idx}" + (label :text "${workspace.icon ?: workspace.idx}") + ) + ) + ) +) + +(deflisten workspaces + :initial "[]" + "bar-ws-monitor" +) -- cgit v1.2.3