making eww work
This commit is contained in:
parent
6cdfe3e563
commit
651153719b
62
eww/notifications.yuck
Normal file
62
eww/notifications.yuck
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
(defwindow notifications
|
||||||
|
:geometry (geometry :x "0px"
|
||||||
|
:y "0px"
|
||||||
|
:width "1px"
|
||||||
|
:height "93%"
|
||||||
|
:anchor "bottom right")
|
||||||
|
:stacking "fg"
|
||||||
|
:monitor "0"
|
||||||
|
(notif-panel))
|
||||||
|
|
||||||
|
(defwidget notif-panel []
|
||||||
|
(eventbox
|
||||||
|
:halign "start"
|
||||||
|
:onhoverlost "${EWW_CMD} update rightside=false"
|
||||||
|
(revealer
|
||||||
|
:transition "slideleft"
|
||||||
|
:reveal rightside
|
||||||
|
:duration "550ms"
|
||||||
|
(rightside))))
|
||||||
|
(defvar rightside false)
|
||||||
|
|
||||||
|
(defwidget rightside []
|
||||||
|
(box
|
||||||
|
:class "side"
|
||||||
|
:orientation "v"
|
||||||
|
:space-evenly "false"
|
||||||
|
:spacing "10"
|
||||||
|
:halign "center"
|
||||||
|
(box
|
||||||
|
:class "notification-header"
|
||||||
|
:orientation "h"
|
||||||
|
:space-evenly "false"
|
||||||
|
(label
|
||||||
|
:class "notification-label"
|
||||||
|
:halign "start"
|
||||||
|
:text "Notifications")
|
||||||
|
(box
|
||||||
|
:orientation "h"
|
||||||
|
:space-evenly "false"
|
||||||
|
:halign "end"
|
||||||
|
(button
|
||||||
|
:class "notification-action"
|
||||||
|
:tooltip "Refresh"
|
||||||
|
:onclick "dunstctl history > /tmp/dunst-history.json" "")
|
||||||
|
(button
|
||||||
|
:class "notification-action"
|
||||||
|
:tooltip "Pause/Resume Notifications"
|
||||||
|
:onclick "dunstctl set-paused toggle" "")
|
||||||
|
(button
|
||||||
|
:class "notification-action"
|
||||||
|
:tooltip "Dismiss All"
|
||||||
|
:onclick "pkill dunst && hyprctl dispatch exec dunst && dunstctl history > /tmp/dunst-history.json" "")))
|
||||||
|
(scroll
|
||||||
|
:vscroll "true"
|
||||||
|
:hscroll "false"
|
||||||
|
:height 840
|
||||||
|
:width 200
|
||||||
|
(literal
|
||||||
|
:content notifications)
|
||||||
|
)))
|
||||||
|
|
||||||
|
(deflisten notifications "scripts/notifications")
|
298
eww/sidebar.yuck
Normal file
298
eww/sidebar.yuck
Normal file
|
@ -0,0 +1,298 @@
|
||||||
|
(defwindow sidebar
|
||||||
|
:geometry (geometry :x "0px"
|
||||||
|
:y "0px"
|
||||||
|
:width "1px"
|
||||||
|
:height "1024"
|
||||||
|
:anchor "bottom left")
|
||||||
|
:stacking "fg"
|
||||||
|
:monitor "0"
|
||||||
|
(sidebar))
|
||||||
|
|
||||||
|
(defwidget sidebar []
|
||||||
|
(eventbox
|
||||||
|
:halign "start"
|
||||||
|
:onhover "${EWW_CMD} update side=true"
|
||||||
|
:onhoverlost "${EWW_CMD} update side=false"
|
||||||
|
(revealer
|
||||||
|
:transition "slideright"
|
||||||
|
:reveal side
|
||||||
|
:duration "550ms"
|
||||||
|
(side))))
|
||||||
|
(defvar side false)
|
||||||
|
|
||||||
|
;; background
|
||||||
|
(defwidget side []
|
||||||
|
(box
|
||||||
|
:class "side"
|
||||||
|
:orientation "v"
|
||||||
|
:space-evenly "false"
|
||||||
|
:spacing "30"
|
||||||
|
:halign "start"
|
||||||
|
(fetch)
|
||||||
|
(top)
|
||||||
|
(music-side)
|
||||||
|
(system-side)
|
||||||
|
(tray))
|
||||||
|
)
|
||||||
|
|
||||||
|
(defwidget top []
|
||||||
|
(box
|
||||||
|
:orientation "h"
|
||||||
|
:space-evenly "false"
|
||||||
|
:spacing "30"
|
||||||
|
:halign "center"
|
||||||
|
(date)
|
||||||
|
(weather))
|
||||||
|
)
|
||||||
|
|
||||||
|
;; Music Widgets
|
||||||
|
(defwidget music-side []
|
||||||
|
(box
|
||||||
|
:class "music-player"
|
||||||
|
:orientation "h"
|
||||||
|
:space-evenly "false"
|
||||||
|
:spacing 15
|
||||||
|
:halign "center"
|
||||||
|
:valign "start"
|
||||||
|
:hexpand "true"
|
||||||
|
:width ""
|
||||||
|
(box
|
||||||
|
:class "album_art"
|
||||||
|
:style "background-image: url('${art}');")
|
||||||
|
(box
|
||||||
|
:orientation "v"
|
||||||
|
:space-evenly "false"
|
||||||
|
:valign "center"
|
||||||
|
:halign "center"
|
||||||
|
:spacing 10
|
||||||
|
(label
|
||||||
|
:class "song"
|
||||||
|
:limit-width 15
|
||||||
|
:text title)
|
||||||
|
(label
|
||||||
|
:class "artist"
|
||||||
|
:limit-width 15
|
||||||
|
:text artist)
|
||||||
|
(box
|
||||||
|
:orientation "h"
|
||||||
|
:space-evenly "false"
|
||||||
|
:valign "center"
|
||||||
|
:halign "center"
|
||||||
|
:spacing 25
|
||||||
|
(button :class "btn_prev" :onclick "scripts/music previous" "玲")
|
||||||
|
(button :class "btn_play" :onclick "scripts/music toggle" playpause)
|
||||||
|
(button :class "btn_next" :onclick "scripts/music next" "怜")))))
|
||||||
|
|
||||||
|
(defpoll art :interval "1s" "scripts/music coverloc")
|
||||||
|
(defpoll title :interval "1s" "scripts/music title")
|
||||||
|
(defpoll artist :interval "1s" "scripts/music artist")
|
||||||
|
(defpoll playpause :interval "1s" "scripts/music statusicon")
|
||||||
|
|
||||||
|
;; weather
|
||||||
|
(defwidget weather []
|
||||||
|
(box
|
||||||
|
:class "weather"
|
||||||
|
:orientation "v"
|
||||||
|
:spacing -2
|
||||||
|
:space-evenly "false"
|
||||||
|
:vexpand "true"
|
||||||
|
:hexpand "false"
|
||||||
|
:valign "start"
|
||||||
|
:halign "center"
|
||||||
|
(label
|
||||||
|
:class "iconweather"
|
||||||
|
:halign "center"
|
||||||
|
:valign "center"
|
||||||
|
:style "color: ${HEX};" :text ICON)
|
||||||
|
(button
|
||||||
|
:onclick "scripts/weather --getdata && eww reload &"
|
||||||
|
:class "label_temp"
|
||||||
|
:valign "center"
|
||||||
|
:halign "center"
|
||||||
|
"${TEMP}")))
|
||||||
|
|
||||||
|
(defwidget date []
|
||||||
|
(box :class "date" :orientation "v" :valign "start" :space-evenly "false" :halign "center"
|
||||||
|
(label
|
||||||
|
:text DAY)
|
||||||
|
(label
|
||||||
|
:text POO)
|
||||||
|
(label :class "foo"
|
||||||
|
:text FOO)))
|
||||||
|
|
||||||
|
(defpoll FOO :interval "6h" "date '+%d'")
|
||||||
|
(defpoll DAY :interval "6h" "date '+%A'")
|
||||||
|
(defpoll POO :interval "6h" "date '+%B'")
|
||||||
|
|
||||||
|
|
||||||
|
;; Weather vars
|
||||||
|
(defpoll ICON :interval "15m" `scripts/weather --icon`)
|
||||||
|
(defpoll TEMP :interval "15m" `scripts/weather --temp`)
|
||||||
|
(defpoll HEX :interval "15m" `scripts/weather --hex`)
|
||||||
|
|
||||||
|
;; <-- System -->
|
||||||
|
(defwidget system-side []
|
||||||
|
(box
|
||||||
|
:class "stats-box"
|
||||||
|
:space-evenly "false"
|
||||||
|
:width "300px"
|
||||||
|
:orientation "v"
|
||||||
|
:valign "start"
|
||||||
|
:halign "center"
|
||||||
|
:spacing 12
|
||||||
|
(box
|
||||||
|
:class "stats"
|
||||||
|
:hexpand "false"
|
||||||
|
:vexpand "false"
|
||||||
|
:space-evenly "false"
|
||||||
|
(label
|
||||||
|
:tooltip "${round(EWW_CPU.avg, 0)}%"
|
||||||
|
:class "stats-icon" :text "")
|
||||||
|
(scale
|
||||||
|
:min 0
|
||||||
|
:max 101
|
||||||
|
:active false
|
||||||
|
:value {EWW_CPU.avg}
|
||||||
|
:class "scale"
|
||||||
|
:width 280))
|
||||||
|
(box
|
||||||
|
:class "stats"
|
||||||
|
:hexpand "false"
|
||||||
|
:vexpand "false"
|
||||||
|
:space-evenly "false"
|
||||||
|
(label
|
||||||
|
:tooltip "${round(EWW_RAM.used_mem_perc, 0)}%"
|
||||||
|
:class "stats-icon"
|
||||||
|
:text "")
|
||||||
|
(scale
|
||||||
|
:min 0
|
||||||
|
:max 101
|
||||||
|
:active false
|
||||||
|
:value {EWW_RAM.used_mem_perc}
|
||||||
|
:class "scale"
|
||||||
|
:width 280))
|
||||||
|
(box
|
||||||
|
:class "stats"
|
||||||
|
:hexpand "false"
|
||||||
|
:vexpand "false"
|
||||||
|
:space-evenly "false"
|
||||||
|
(label
|
||||||
|
:tooltip "${round(EWW_DISK["/"].used_perc, 0)}%"
|
||||||
|
:class "stats-icon"
|
||||||
|
:text "")
|
||||||
|
(scale
|
||||||
|
:min 0
|
||||||
|
:max 101
|
||||||
|
:active false
|
||||||
|
:value {(EWW_DISK["/"].used / EWW_DISK["/"].total) * 100}
|
||||||
|
:class "scale"
|
||||||
|
:width 280))
|
||||||
|
(box
|
||||||
|
:class "stats"
|
||||||
|
:hexpand "false"
|
||||||
|
:vexpand "false"
|
||||||
|
:space-evenly "false"
|
||||||
|
(label
|
||||||
|
:tooltip "${gpu}%"
|
||||||
|
:class "stats-icon"
|
||||||
|
:text "調")
|
||||||
|
(scale
|
||||||
|
:min 0
|
||||||
|
:max 101
|
||||||
|
:active false
|
||||||
|
:value gpu
|
||||||
|
:class "scale"
|
||||||
|
:width 280))
|
||||||
|
(box
|
||||||
|
:class "stats"
|
||||||
|
:hexpand "false"
|
||||||
|
:vexpand "false"
|
||||||
|
:space-evenly "false"
|
||||||
|
(button
|
||||||
|
:tooltip "${volume_percent}%"
|
||||||
|
:onclick "amixer set Master toggle"
|
||||||
|
:onrightclick "alsamixer &"
|
||||||
|
:class "stats-icon" "墳")
|
||||||
|
(scale
|
||||||
|
:min 0
|
||||||
|
:max 101
|
||||||
|
:active true
|
||||||
|
:value volume_percent
|
||||||
|
:class "scale"
|
||||||
|
:width 280
|
||||||
|
:onchange "amixer sset Master {}%")
|
||||||
|
)))
|
||||||
|
|
||||||
|
(deflisten gpu "scripts/gpu")
|
||||||
|
|
||||||
|
(defwidget tray []
|
||||||
|
(box
|
||||||
|
:class "buttons"
|
||||||
|
:orientation "h"
|
||||||
|
:space-evenly "false"
|
||||||
|
:halign "center"
|
||||||
|
:valign "start"
|
||||||
|
:spacing "2"
|
||||||
|
(button
|
||||||
|
:class "poweroff"
|
||||||
|
:halign "center"
|
||||||
|
:tooltip "Shut Down"
|
||||||
|
:onclick "kitty poweroff &" "⏻")
|
||||||
|
(button
|
||||||
|
:class "reboot"
|
||||||
|
:halign "center"
|
||||||
|
:tooltip "Reboot"
|
||||||
|
:onclick "kitty reboot &" "")
|
||||||
|
(button
|
||||||
|
:class "firmware"
|
||||||
|
:halign "center"
|
||||||
|
:tooltip "Reboot to EFI"
|
||||||
|
:onclick "kitty systemctl reboot --firmware &" "拉")
|
||||||
|
(button
|
||||||
|
:class "exit"
|
||||||
|
:halign "center"
|
||||||
|
:tooltip "Quit Hyprland"
|
||||||
|
:onclick "hyprctl dispatch exit exit" "")
|
||||||
|
(button
|
||||||
|
:class "restart"
|
||||||
|
:halign "center"
|
||||||
|
:tooltip "edit Config"
|
||||||
|
:onclick "footclient nvim ~/.config/hypr/hyprland.conf &" "")))
|
||||||
|
|
||||||
|
(defpoll uptime :interval "1m" "uptime -p | sed -e 's/up //;s/ hours,/h/;s/ minutes/m/'")
|
||||||
|
(defpoll packages :interval "5m" `pacman -Q | wc -l`)
|
||||||
|
(defpoll kernal :interval "5m" `uname -r`)
|
||||||
|
(defpoll name :interval "5m" `whoami`)
|
||||||
|
(defpoll host :interval "5m" `uname -n`)
|
||||||
|
(defpoll wm :interval "5m" `echo $XDG_CURRENT_DESKTOP`)
|
||||||
|
|
||||||
|
(defwidget fetch []
|
||||||
|
(box
|
||||||
|
:class "fetch"
|
||||||
|
:orientation "v"
|
||||||
|
:space-evenly "false"
|
||||||
|
:halign "center"
|
||||||
|
:valign "start"
|
||||||
|
:spacing "10"
|
||||||
|
(label
|
||||||
|
:class "host"
|
||||||
|
:halign "start"
|
||||||
|
:text " : ${name}@${host}")
|
||||||
|
(label
|
||||||
|
:class "wm"
|
||||||
|
:halign "start"
|
||||||
|
:text " : ${wm}")
|
||||||
|
(label
|
||||||
|
:class "uptime"
|
||||||
|
:halign "start"
|
||||||
|
:text " : ${uptime}")
|
||||||
|
(label
|
||||||
|
:class "packages"
|
||||||
|
:halign "start"
|
||||||
|
:text " : ${packages}")
|
||||||
|
(label
|
||||||
|
:class "kernal"
|
||||||
|
:halign "start"
|
||||||
|
:text " : ${kernal}")
|
||||||
|
)
|
||||||
|
)
|
Loading…
Reference in a new issue