aboutsummaryrefslogtreecommitdiff
path: root/.config/eww/eww.yuck
diff options
context:
space:
mode:
Diffstat (limited to '.config/eww/eww.yuck')
-rw-r--r--.config/eww/eww.yuck206
1 files changed, 206 insertions, 0 deletions
diff --git a/.config/eww/eww.yuck b/.config/eww/eww.yuck
new file mode 100644
index 0000000..d0e832a
--- /dev/null
+++ b/.config/eww/eww.yuck
@@ -0,0 +1,206 @@
+(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)
+ (scratchpad-indicator)
+ (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)
+))
+
+(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(arch-updates, '^\s*$')?'paru-empty':'paru'}"
+ :orientation "h"
+ :space-evenly false
+ :halign "end"
+ :spacing 10
+ (button
+ :class ""
+ :onclick "foot bash -c 'paru; ~/.config/eww/scripts/arch-updates.sh Refresh'&"
+ arch-updates)
+))
+
+(defwidget scratchpad-indicator []
+ (box
+ :class "${matches(scratchpad, '^\s*$')?'scratchpad-empty':'scratchpad'}"
+ :orientation "h"
+ :space-evenly false
+ :halign "end"
+ :spacing 10
+ (button
+ :class ""
+ :onclick "scripts/scratchpad-indicator.sh ShowInfo"
+ scratchpad)
+))
+
+(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 ""
+ :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.py --c left-click"
+ :onmiddleclick "scripts/battery.py --c middle-click"
+ :onrightclick "scripts/battery.py --c right-click"
+ battery)
+))
+
+(defpoll battery :interval "10s"
+ "scripts/battery.py --c status")
+
+(defpoll scratchpad :interval "1s"
+ "scripts/scratchpad-indicator.sh Update || echo null")
+
+(defpoll language :interval "1s"
+ "scripts/keyboardlayout.sh")
+
+(defpoll network :interval "1s"
+ "scripts/network.sh")
+
+(defpoll idle :interval "1s"
+ "scripts/idleinhibit.sh")
+
+(defpoll arch-updates :interval "600s"
+ "scripts/arch-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 "10px"
+ :width "100%"
+ :height "20px"
+ :anchor "top center")
+ :stacking "bt"
+ :exclusive true
+ :focusable false
+ (bar0))
+
+(defwindow bar1
+ :monitor 1
+ :windowtype "dock"
+ :geometry (geometry :x "0%"
+ :y "10px"
+ :width "100%"
+ :height "20px"
+ :anchor "top center")
+ :stacking "bt"
+ :exclusive true
+ :focusable false
+ (bar1))