aboutsummaryrefslogtreecommitdiff
path: root/home/rices/schrottkatze/eww/configDir/bottomBar
diff options
context:
space:
mode:
Diffstat (limited to 'home/rices/schrottkatze/eww/configDir/bottomBar')
-rw-r--r--home/rices/schrottkatze/eww/configDir/bottomBar/bottomBar.yuck77
-rw-r--r--home/rices/schrottkatze/eww/configDir/bottomBar/traveldings.yuck37
-rw-r--r--home/rices/schrottkatze/eww/configDir/bottomBar/workspaces.yuck18
3 files changed, 132 insertions, 0 deletions
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"
+)