aboutsummaryrefslogtreecommitdiff
path: root/home/eww
diff options
context:
space:
mode:
Diffstat (limited to 'home/eww')
-rw-r--r--home/eww/eww.css51
-rw-r--r--home/eww/eww.yuck1
-rw-r--r--home/eww/windows/music.yuck86
3 files changed, 138 insertions, 0 deletions
diff --git a/home/eww/eww.css b/home/eww/eww.css
new file mode 100644
index 0000000..075beb8
--- /dev/null
+++ b/home/eww/eww.css
@@ -0,0 +1,51 @@
+@import "colors.css";
+
+window {
+ color: @fg;
+ background-color: @bg;
+ border: 2px solid @bg1;
+ font-family: monospace, sans-serif;
+}
+
+.main {
+ margin: 8px;
+}
+
+.left {
+ margin-top: 8px;
+}
+
+.song-title {
+ font-size: 17px;
+ font-weight: bold;
+}
+
+.song-album {
+ color: @fg2;
+}
+
+.song-artist {
+ color: @fg2;
+}
+
+.control {
+ font-size: 24;
+}
+
+button {
+ color: @fg;
+ background: @bg;
+
+ border: none;
+ border-radius: 0;
+ box-shadow: none;
+ text-shadow: none;
+}
+
+button:hover {
+ background: @bg1;
+}
+
+button:active {
+ background: @bg2;
+} \ No newline at end of file
diff --git a/home/eww/eww.yuck b/home/eww/eww.yuck
new file mode 100644
index 0000000..37d2efc
--- /dev/null
+++ b/home/eww/eww.yuck
@@ -0,0 +1 @@
+(include "./windows/music.yuck") \ No newline at end of file
diff --git a/home/eww/windows/music.yuck b/home/eww/windows/music.yuck
new file mode 100644
index 0000000..91ee05f
--- /dev/null
+++ b/home/eww/windows/music.yuck
@@ -0,0 +1,86 @@
+(defwindow music [pos gaps]
+ :monitor "<primary>"
+ :geometry (geometry
+ :x {
+ pos == "right"
+ ? gaps == "true"
+ ? "-8px" : "2px"
+ : "0px"
+ }
+ :y { gaps == "true" ? "-8px" : "2px" }
+ :height {128 + 16}
+ :anchor { pos == "right" ? "bottom right" : "bottom center" }
+ )
+ :stacking "fg"
+ :windowtype "dock"
+ :wm-ignore true
+
+ (box :class "main"
+ :orientation "h"
+ :spacing 8
+ :space-evenly false
+ :height {128 + 16}
+
+ (image
+ :path song-cover
+ :image-width 128
+ :image-height 128
+ )
+
+ (box :class "left"
+ :orientation "v"
+ :spacing 0
+ :space-evenly true
+ :hexpand true
+
+ (box :class "info"
+ :orientation "v"
+ :space-evenly false
+ :valign "center"
+
+ (label :class "song-title"
+ :text {song.title}
+ :halign "start"
+ )
+ (label :class "song-album"
+ :text {song.album}
+ :halign "start"
+ )
+ (label :class "song-artist"
+ :text {song.artist}
+ :halign "start"
+ )
+ )
+
+ (box :class "control"
+ :space-evenly false
+ :halign "center"
+ :valign "end"
+
+ (button
+ :onclick `playerctl --player=cmus,firefox,%any previous`
+ "󰒮"
+ )
+ (button
+ :onclick `playerctl --player=cmus,firefox,%any play-pause`
+ { song.status == "Playing" ? "󰏤" : "󰐊" }
+ )
+ (button
+ :onclick `playerctl --player=cmus,firefox,%any next`
+ "󰒭"
+ )
+
+ ; Offset controls to center of screen
+ (box :width {128 + 8})
+ )
+ )
+ )
+)
+
+(deflisten song-cover
+ `playerctl --player=cmus,firefox,%any -F metadata title | get-album-art`
+)
+
+(deflisten song
+ `playerctl --player=cmus,firefox,%any -F metadata --format='{"title": "{{title}}", "album": "{{album}}", "artist": "{{artist}}", "status": "{{status}}"}'`
+) \ No newline at end of file