feat(eww): a lot of stuff fixed, prettier active window and media widgets

This commit is contained in:
retrozinndev
2024-12-02 15:26:21 -03:00
parent 9dbfd0cc4a
commit 138e13bded
22 changed files with 210 additions and 73 deletions
+40
View File
@@ -0,0 +1,40 @@
(defvar media_reveal_controls false)
(deflisten media :initial "{}"
`python3 ./scripts/mediaplayer.py`)
(defwidget media []
(eventbox :onhover "eww update media_reveal_controls=true"
:onhoverlost "eww update media_reveal_controls=false"
(box :class "mediaplayer ${ media_reveal_controls ? 'revealed' : '' }"
:space-evenly false
:visible { media.title == "null" && media.artist == "null" ?
false
:
"${ active_window.class =~ media.player || active_window.title =~ media.title ? false : true }"
}
(label :class "media-title"
:text "${media.title}")
(label :class "media-artist"
:text "${media.artist}")
(revealer :class "media-controls-revealer"
:reveal { media_reveal_controls ? true : false }
:transition "slideright"
:duration "180ms"
(box
(button :class "previous"
:onclick "playerctl previous --player=${media.player}"
"󰒮")
(button :class "toggle play-pause"
:onclick "playerctl play-pause --player=${media.player}"
{ media.status == "playing" ? "󰏤" : "󰐊" })
(button :class "next"
:onclick "playerctl next --player=${media.player}"
"󰒭")
)
)
)
)
)