aboutsummaryrefslogtreecommitdiff
path: root/.config/eww/eww.yuck
diff options
context:
space:
mode:
authorJustine Smithies <justine@smithies.me.uk>2024-11-08 20:48:58 +0000
committerJustine Smithies <justine@smithies.me.uk>2024-11-08 20:48:58 +0000
commitc2fbc4d1717864a0055592e0b73d71c010e8686c (patch)
tree76e5bf50cc0f9c1b83f474740a8015d7f4e0ef26 /.config/eww/eww.yuck
parentb9d24b3b6bdaed04fab07d9150c51d4f0f7a5c7d (diff)
Initial commit
Diffstat (limited to '.config/eww/eww.yuck')
-rw-r--r--.config/eww/eww.yuck192
1 files changed, 192 insertions, 0 deletions
diff --git a/.config/eww/eww.yuck b/.config/eww/eww.yuck
new file mode 100644
index 0000000..4db3241
--- /dev/null
+++ b/.config/eww/eww.yuck
@@ -0,0 +1,192 @@
+(defwidget bar0 []
+(box :class "bar"
+ (centerbox :orientation "h"
+ (workspaces0)
+ (clock)
+ (sidestuff)))
+)
+
+(defwidget bar1 []
+(box :class "bar"
+ (centerbox :orientation "h"
+ (workspaces1)
+ (clock)
+ (sidestuff)))
+)
+
+(defwidget sidestuff []
+ (box :class "sidestuff" :orientation "h" :space-evenly false :halign "end"
+ (updates)
+ (language)
+ (idleinhibit)
+ (bright)
+ (audio)
+ (net)
+ (battery)
+ ))
+
+(deflisten workspace0
+ "scripts/workspace.sh 0")
+
+(defwidget workspaces0 []
+ (literal :content workspace0))
+
+(deflisten workspace1
+ "scripts/workspace.sh 1")
+
+(defwidget workspaces1 []
+ (literal :content workspace1))
+
+(defwidget language []
+ (box :class "language"
+ :orientation "h"
+ :space-evenly false
+ :halign "end"
+ :spacing 10
+ (button
+ :class ""
+ :onclick "scripts/keyboardlayout.sh toggle"
+ language)
+))
+
+(defwidget clock []
+ (box :class "clock"
+ :orientation "h"
+ :space-evenly false
+ :halign "center"
+ (button
+ :class ""
+ :onclick "scripts/calendar.sh show"
+ date-time)
+ (label :unindent false :text " - ")
+ (label :text time_poll)
+))
+
+(defwidget audio []
+ (box :class "audio"
+ :orientation "h"
+ :space-evenly false
+ :halign "end"
+ :spacing 10
+ (button
+ :class ""
+ :onclick "scripts/volumecontrol down"
+ :onmiddleclick "scripts/volumecontrol mute"
+ :onrightclick "scripts/volumecontrol up"
+ volume)
+))
+
+(defwidget bright []
+ (box :class "brightness"
+ :orientation "h"
+ :space-evenly false
+ :halign "end"
+ :spacing 10
+ (button
+ :class ""
+ :onclick "scripts/brightnesscontrol down"
+ :onrightclick "scripts/brightnesscontrol up"
+ brightness)
+))
+
+(defwidget updates []
+ (box
+ :class "${matches(chimera-updates, '^\s*$')?'apk-empty':'apk'}"
+ :orientation "h"
+ :space-evenly false
+ :halign "end"
+ :spacing 10
+ (button
+ :class ""
+ :onclick "foot bash -c 'doas apk upgrade; ~/.config/eww/scripts/chimera-updates.sh Refresh'&"
+ chimera-updates)
+))
+
+(defwidget idleinhibit []
+ (box :class "idle"
+ :orientation "h"
+ :space-evenly false
+ :halign "end"
+ :spacing 10
+ (button
+ :class ""
+ :onclick "scripts/idleinhibit.sh toggle"
+ idle)
+))
+
+(defwidget net []
+ (box :class "net"
+ :orientation "h"
+ :space-evenly false
+ :halign "end"
+ :spacing 10
+ (button
+ :class ""
+ :timeout 500
+ :onclick "scripts/network.sh ShowInfo"
+ network)
+))
+
+(defwidget battery []
+ (box :class "battery"
+ :orientation "h"
+ :space-evenly false
+ :halign "end"
+ :spacing 10
+ (button
+ :class ""
+ :onclick "scripts/battery.sh left-click"
+ battery)
+))
+
+(defpoll time_poll :interval "1s" "date +%H:%M")
+
+(defpoll battery :interval "10s"
+ "scripts/battery.sh")
+
+(defpoll language :interval "1s"
+ "scripts/keyboardlayout.sh")
+
+(defpoll network :interval "1s"
+ "scripts/network.sh")
+
+(defpoll idle :interval "1s"
+ "scripts/idleinhibit.sh")
+
+(defpoll chimera-updates :interval "600s"
+ "scripts/chimera-updates.sh")
+
+(defpoll volume :interval "1s"
+ "scripts/volumecontrol")
+
+(defpoll brightness :interval "1s"
+ "scripts/brightnesscontrol")
+
+(defpoll date-time :interval "1s"
+ "scripts/date-time.sh")
+
+(defwindow bar0
+ :monitor 0
+ :windowtype "dock"
+ :geometry (geometry :x "0%"
+ :y "5px"
+ :width "100%"
+ :height "20px"
+ :anchor "top center")
+ :stacking "fg"
+ :exclusive true
+ :focusable false
+ (bar0))
+
+(defwindow bar1
+ :monitor 1
+ :windowtype "dock"
+ :geometry (geometry :x "0%"
+ :y "5px"
+ :width "100%"
+ :height "20px"
+ :anchor "top center")
+ :stacking "fg"
+ :exclusive true
+ :focusable false
+ (bar1))