mirror of
https://github.com/kristoferssolo/solorice.git
synced 2026-02-04 06:32:03 +00:00
Use dotter
This commit is contained in:
198
config/eww/eww.yuck
Normal file
198
config/eww/eww.yuck
Normal file
@@ -0,0 +1,198 @@
|
||||
(defwidget bar []
|
||||
(centerbox :orientation "h"
|
||||
(workspaces)
|
||||
(window)
|
||||
(sidestuff)))
|
||||
|
||||
(defwidget sidestuff []
|
||||
(box
|
||||
:class "sidestuff"
|
||||
:orientation "h"
|
||||
:space-evenly false
|
||||
:halign "end"
|
||||
:spacing 10
|
||||
(music)
|
||||
(metric
|
||||
:label ""
|
||||
:value volume
|
||||
:onchange "pulsemixer --set-volume {}" )
|
||||
;; (metric_extended
|
||||
;; :label ""
|
||||
;; :value brightness
|
||||
;; :onchange "doas brightnessctl set {}" )
|
||||
(cpu)
|
||||
(github)
|
||||
;; (network)
|
||||
(battery)
|
||||
time
|
||||
date
|
||||
))
|
||||
|
||||
|
||||
(deflisten workspaces :initial "[]" "bash ~/.config/eww/scripts/get-workspaces")
|
||||
(deflisten current_workspace :initial "1" "bash ~/.config/eww/scripts/get-active-workspace")
|
||||
|
||||
(defwidget workspaces []
|
||||
(eventbox :onscroll "bash ~/.config/eww/scripts/change-active-workspace {} ${current_workspace}" :class "workspaces"
|
||||
(box :space-evenly true :halign "start" :spacing 10
|
||||
(label :text "${workspaces}${current_workspace}" :visible false)
|
||||
(for workspace in workspaces
|
||||
(button :onclick "hyprctl dispatch workspace ${workspace.id}"
|
||||
(box :class "workspaces ${workspace.id == current_workspace ? "current" : ""}"
|
||||
(label :text "${workspace.id}")))))))
|
||||
|
||||
|
||||
(deflisten window :initial "..." "bash ~/.config/eww/scripts/get-window-title")
|
||||
(defwidget window []
|
||||
(box :class "window"
|
||||
(label :text "${window}")))
|
||||
|
||||
(defwidget music []
|
||||
(box :class "music ${music_status == "Playing" ? "playing" : "paused"}"
|
||||
:orientation "h"
|
||||
:space-evenly false
|
||||
:halign "center"
|
||||
(button :onclick "sp play" {music != "" ? "${music}" : ""})))
|
||||
|
||||
(defwidget icon-module [icon ?class ?visible]
|
||||
(box :class "${class} icon-module"
|
||||
:orientation "h"
|
||||
:halign "end"
|
||||
:space-evenly false
|
||||
:visible {visible ?: true} ; because the argument is optional
|
||||
(label :class "icon-module__icon" :text "${icon}")
|
||||
(children)))
|
||||
|
||||
(defwidget metric [label value onchange]
|
||||
(box :orientation "h"
|
||||
:class "metric"
|
||||
:space-evenly false
|
||||
(box :class "label" label)
|
||||
(scale :min 0
|
||||
:max 101
|
||||
:active {onchange != ""}
|
||||
:value value
|
||||
:onchange onchange)))
|
||||
|
||||
(defpoll music
|
||||
:interval "1s"
|
||||
"scripts/get-music")
|
||||
|
||||
(defpoll music_status
|
||||
:interval "1s"
|
||||
"sp status")
|
||||
|
||||
(defpoll volume
|
||||
:interval "1s"
|
||||
"scripts/getvol")
|
||||
|
||||
(defwidget metric_extended [label value onchange]
|
||||
(box
|
||||
:orientation "h"
|
||||
:class "metric"
|
||||
:space-evenly false
|
||||
(box
|
||||
:class "label" label)
|
||||
(scale
|
||||
:min 0
|
||||
:max 256
|
||||
:active {onchange != ""}
|
||||
:value value
|
||||
:onchang
|
||||
:onchange onchange)))
|
||||
|
||||
(defpoll brightness
|
||||
:interval "1s"
|
||||
:class "brightness"
|
||||
"brightnessctl get")
|
||||
|
||||
;; "format-icons": ["", "", "", "", "", "", "", "", ""],
|
||||
|
||||
(defwidget battery []
|
||||
(icon-module
|
||||
:icon "${EWW_BATTERY.BAT0.status == "Charging" ? "" :
|
||||
EWW_BATTERY.BAT0.capacity > 90 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity > 70 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity > 40 ? "" :
|
||||
EWW_BATTERY.BAT0.capacity > 20 ? "" :
|
||||
""}"
|
||||
:class "battery ${EWW_BATTERY.BAT0.capacity > 30 ? "good" : EWW_BATTERY.BAT0.capacity > 10 ? "warning" : "critical"} ${EWW_BATTERY.BAT0.status}"
|
||||
(label
|
||||
:text "${EWW_BATTERY.BAT0.capacity}%")))
|
||||
|
||||
|
||||
(defpoll time :interval "1s"
|
||||
"date '+%H:%M:%S'")
|
||||
|
||||
(defpoll date :interval "10s"
|
||||
"date '+%d.%m.%Y'")
|
||||
|
||||
|
||||
(defpoll github_poll
|
||||
:initial ""
|
||||
:interval "1m" "sh ~/.config/eww/scripts/github")
|
||||
(defwidget github []
|
||||
(button
|
||||
:onclick "xdg-open https://github.com/notifications"
|
||||
(box
|
||||
(icon-module
|
||||
:class "github"
|
||||
:icon ""
|
||||
:visible {github_poll != ""})
|
||||
github_poll)))
|
||||
|
||||
|
||||
(defwidget cpu []
|
||||
(icon-module
|
||||
:icon ""
|
||||
:class "cpu ${EWW_CPU.avg > 90 ? "danger" : EWW_CPU.avg > 60 ? "warning" : ""}"
|
||||
(label
|
||||
:text "${round(EWW_CPU.avg, 0)}%")))
|
||||
|
||||
;; (defpoll net_poll
|
||||
;; :initial "..."
|
||||
;; :interval "10s" "sh ~/.config/eww/scripts/get-network")
|
||||
(defwidget network []
|
||||
(icon-module
|
||||
:icon ""
|
||||
:class "network ${EWW_NET.wlan0.NET_DOWN == 0 && EWW_NET.wlan0.NET_UP == 0 ? "disconnected" : ""}"
|
||||
(label
|
||||
:text "${EWW_NET.wlan0.NET_DOWN == 0 && EWW_NET.wlan0.NET_UP == 0 ? "Disconnected ⚠" : ""}")))
|
||||
|
||||
|
||||
|
||||
|
||||
;; "network": {
|
||||
;; "format-wifi": "{essid} ({signalStrength}%) ",
|
||||
;; "format-ethernet": "{ipaddr}/{cidr} ",
|
||||
;; "tooltip-format": "{ifname} via {gwaddr} ",
|
||||
;; "format-linked": "{ifname} (No IP) ",
|
||||
;; "format-disconnected": "",
|
||||
;; "format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||
;; },
|
||||
|
||||
|
||||
(defwindow bar
|
||||
:monitor 0
|
||||
:exclusive true
|
||||
:geometry (geometry
|
||||
:x "0%"
|
||||
:y "0%"
|
||||
:width "100%"
|
||||
:height "10px"
|
||||
:anchor "top center")
|
||||
:reserve (struts :side "top" :distance "4%")
|
||||
(bar))
|
||||
|
||||
|
||||
(defwindow bar-1
|
||||
:monitor 1
|
||||
:exclusive true
|
||||
:geometry (geometry
|
||||
:x "0%"
|
||||
:y "0%"
|
||||
:width "100%"
|
||||
:height "10px"
|
||||
:anchor "top center")
|
||||
:reserve (struts :side "top" :distance "4%")
|
||||
(bar))
|
||||
Reference in New Issue
Block a user