Adds the clearest current starting point of my dotfiles I can make out. There is no way to automate anything yet. Lots of stuff is missing from the nix configuration, which needs to be added per machine.
86 lines
2.3 KiB
Text
86 lines
2.3 KiB
Text
(defpoll volume :interval "1s" "scripts/getvol")
|
|
|
|
(defwidget bar [index]
|
|
(centerbox :orientation "h"
|
|
(workspaces :index index)
|
|
(music)
|
|
(sidestuff)))
|
|
|
|
(defwidget sidestuff []
|
|
(box :class "sidestuff" :orientation "h" :space-evenly false :halign "end"
|
|
(metric :label "∰"
|
|
:value volume
|
|
:onchange "amixer sset Master {}%")
|
|
(metric :label "🐏"
|
|
:value {EWW_RAM.used_mem_perc}
|
|
:onchange "")
|
|
(metric :label "💾"
|
|
:value {round((1 - (EWW_DISK["/"].free / EWW_DISK["/"].total)) * 100, 0)}
|
|
:onchange "")
|
|
time))
|
|
|
|
(defwidget workspaces [index]
|
|
(box :class "workspaces"
|
|
:orientation "h"
|
|
:space-evenly false
|
|
:halign "start"
|
|
:spacing 10
|
|
(box
|
|
(for tag in '${wmstate.workspaces[index].tags}'
|
|
(button
|
|
:class {tag.mine ? "ws-button-mine" :
|
|
tag.visible ? "ws-button-visible" :
|
|
tag.urgent ? "ws-button-urgent" :
|
|
tag.busy ? "ws-button-busy" :
|
|
"ws-button"
|
|
}
|
|
:onclick "leftwm-command \"SendWorkspaceToTag ${index} ${tag.index}\""
|
|
{!tag.mine && !tag.busy && !tag.visible && !tag.urgent ? "." : "${tag.name}"}
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
(defwidget music []
|
|
(box :class "music"
|
|
:orientation "h"
|
|
:space-evenly false
|
|
:halign "center"
|
|
{music != "" ? "🎵${music}" : ""}))
|
|
|
|
|
|
(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)))
|
|
|
|
(deflisten music :initial ""
|
|
"playerctl --follow metadata --format '{{ artist }} - {{ title }}' || true")
|
|
|
|
(defpoll time :interval "1s"
|
|
"date '+%H:%M:%S %b %d, %Y'")
|
|
|
|
(deflisten wmstate
|
|
:initial '{"workspaces":[{"layout":"","tags":[{"name":"","index":0,"mine":false,"busy":false,"visible":false,"urgent":false}]}]}'
|
|
"leftwm state"
|
|
)
|
|
|
|
(defwindow bar [index]
|
|
:monitor index
|
|
:windowtype "dock"
|
|
:geometry (geometry :x "0%"
|
|
:y "0%"
|
|
:width "100%"
|
|
:height "8px"
|
|
:anchor "top center")
|
|
:reserve (struts :side "top" :distance "30px")
|
|
:exclusive true
|
|
(bar :index index)
|
|
)
|