254 lines
6.2 KiB
Plaintext
254 lines
6.2 KiB
Plaintext
(defwindow sidebar
|
|
:geometry (geometry :x "0px"
|
|
:y "10px"
|
|
:width "1px"
|
|
:height "724"
|
|
:anchor "bottom left")
|
|
:stacking "fg"
|
|
:monitor "0"
|
|
(sidebar))
|
|
|
|
(defwidget sidebar []
|
|
(eventbox
|
|
:class "side_class"
|
|
:halign "start"
|
|
:onhover "${EWW_CMD} update side=true"
|
|
:onhoverlost "${EWW_CMD} update side=false"
|
|
(revealer
|
|
:transition "slideright"
|
|
:reveal side
|
|
:duration "250ms"
|
|
(side))))
|
|
|
|
(defvar side false)
|
|
|
|
;; background
|
|
(defwidget side []
|
|
(box
|
|
:class "side"
|
|
:orientation "v"
|
|
:space-evenly "false"
|
|
:spacing "30"
|
|
:halign "start"
|
|
(fetch)
|
|
(top)
|
|
(system-side)
|
|
(tray))
|
|
)
|
|
|
|
(defwidget top []
|
|
(box
|
|
:orientation "h"
|
|
:space-evenly "false"
|
|
:spacing "30"
|
|
:halign "center"
|
|
(date))
|
|
)
|
|
|
|
;; 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 "pamixer --set-volume {}")
|
|
)))
|
|
|
|
(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 "alacritty poweroff &" "⏻")
|
|
(button
|
|
:class "reboot"
|
|
:halign "center"
|
|
:tooltip "Reboot"
|
|
:onclick "alacritty reboot &" "")
|
|
(button
|
|
:class "firmware"
|
|
:halign "center"
|
|
:tooltip "Reboot to EFI"
|
|
:onclick "alacritty 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 "emacsclient ~/.config/hypr/hyprland.conf &" "")))
|
|
|
|
(defpoll uptime :interval "1m" "uptime | awk '{print $3}' | sed 's/,//;s/\(.*\):\(.*\)/\1 h \2 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}")))
|