eww widgets and theme cycle with waybar button
This commit is contained in:
49
eww/eww.yuck
Normal file
49
eww/eww.yuck
Normal file
@@ -0,0 +1,49 @@
|
||||
(defpoll volume :interval "1s"
|
||||
"wpctl get-volume @DEFAULT_AUDIO_SINK@ | awk '{printf \"%d\", $2*100}'")
|
||||
|
||||
(defpoll muted :interval "1s"
|
||||
"wpctl get-volume @DEFAULT_AUDIO_SINK@ | grep -c MUTED || echo 0")
|
||||
|
||||
(defpoll sink-inputs :interval "2s"
|
||||
"~/.config/eww/scripts/get-sinks.sh")
|
||||
|
||||
(defwidget volume-overlay []
|
||||
(box :class "volume-overlay" :orientation "v" :spacing 12 :space-evenly false
|
||||
(box :class "header" :orientation "h" :space-evenly false :spacing 8
|
||||
(label :class "header-icon" :text "")
|
||||
(label :class "header-title" :text "Volume Mixer"))
|
||||
|
||||
(box :class "sink-row" :orientation "v" :spacing 4
|
||||
(box :orientation "h" :space-evenly false :spacing 8
|
||||
(label :class "app-icon" :text "")
|
||||
(label :class "app-name" :text "Master")
|
||||
(label :class "app-vol" :text "${volume}%"))
|
||||
(scale :class "vol-slider master-slider"
|
||||
:min 0 :max 100 :value volume
|
||||
:onchange "wpctl set-volume @DEFAULT_AUDIO_SINK@ {}%"))
|
||||
|
||||
(box :class "divider")
|
||||
|
||||
(for sink in sink-inputs
|
||||
(box :class "sink-row" :orientation "v" :spacing 4
|
||||
(box :orientation "h" :space-evenly false :spacing 8
|
||||
(label :class "app-icon" :text "")
|
||||
(label :class "app-name" :text {sink.name})
|
||||
(label :class "app-vol" :text "${sink.volume}%"))
|
||||
(scale :class "vol-slider"
|
||||
:min 0 :max 100 :value {sink.volume}
|
||||
:onchange "wpctl set-volume ${sink.id} {}%")))
|
||||
|
||||
(button :class "mute-btn ${muted == "1" ? "muted" : ""}"
|
||||
:onclick "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
(label :text "${muted == "1" ? " Muted" : " Mute"}"))))
|
||||
|
||||
(defwindow volume-mixer
|
||||
:monitor 0
|
||||
:geometry (geometry :x "0px" :y "40px"
|
||||
:width "280px"
|
||||
:anchor "top right")
|
||||
:stacking "overlay"
|
||||
:exclusive false
|
||||
(volume-overlay))
|
||||
|
||||
Reference in New Issue
Block a user