(defvar media_reveal_controls false) (defwidget media [] (eventbox :onhover "${EWW_CMD} update media_reveal_controls=true" :onhoverlost "${EWW_CMD} update media_reveal_controls=false" :visible { json_media == "" || (json_media.title == "null" && json_media.artist == "null") || (json_active_window.class =~ json_media.player || json_active_window.title =~ json_media.title) ? false : true } :onclick "sh scripts/eww-window.sh toggle floating-media" :class "mediaplayer-eventbox" (box :class "mediaplayer ${ media_reveal_controls && window_state_floating-media == "closed" ? 'revealed' : '' }" :space-evenly false (eventbox :class "media" :tooltip "${json_media.title} - ${json_media.artist}" (box :space-evenly false (label :class "player" :text { json_media.player == "spotify" ? " " : "󰎇 " }) (label :class "media-title" :text "${json_media.title}" :limit-width 40) (separator :orientation "horizontal" :alpha 0.8 :style "border-radius: 2x;") (label :class "media-artist" :text "${json_media.artist}" :limit-width 25) ) ) (revealer :class "media-controls-revealer" :reveal { media_reveal_controls ? "${ window_state_floating-media == 'closed' ? true : false }" : false } :transition "slideright" :duration "220ms" (box :class "media-controls" (button :class "url" :onclick "wl-copy '${json_media.url}'" :tooltip "Copy link to Clipboard" :visible { json_media.url != "" && json_media.url != "null" } "󰌷") (button :class "previous" :onclick "playerctl previous --player=${json_media.player}" "󰒮") (button :class "toggle play-pause" :onclick "playerctl play-pause --player=${json_media.player}" { json_media.status == "playing" ? "󰏤" : "󰐊" }) (button :class "next" :onclick "playerctl next --player=${json_media.player}" "󰒭") ) ) ) ) )