summaryrefslogtreecommitdiffhomepage
path: root/lib/Music.hs
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2022-08-13 17:15:15 +0100
committerjao <jao@gnu.org>2022-08-13 17:15:15 +0100
commitf62d3d8c2bc488f26fa21a3f824879d614570aec (patch)
treec28fedc2bea27e7cc85df7d0e0b2fc9ee5bc1de9 /lib/Music.hs
parentc94a9349d25394726456efc8b1dbcca8385b1b77 (diff)
downloadxmobar-config-f62d3d8c2bc488f26fa21a3f824879d614570aec.tar.gz
xmobar-config-f62d3d8c2bc488f26fa21a3f824879d614570aec.tar.bz2
lib: clean ups
Diffstat (limited to 'lib/Music.hs')
-rw-r--r--lib/Music.hs53
1 files changed, 53 insertions, 0 deletions
diff --git a/lib/Music.hs b/lib/Music.hs
new file mode 100644
index 0000000..dc7375c
--- /dev/null
+++ b/lib/Music.hs
@@ -0,0 +1,53 @@
+module Music where
+
+import Xmobar
+import Monitors
+import qualified Bottom
+import Config (defaultHeight, pIsLight, pHigh, fc, fni)
+
+mpris p client width =
+ Mpris2 client
+ ["-t", fni "\xf1bc" ++ " <tracknumber> <title> " ++ fc (pHigh p) "<artist>"
+ ++ " <album> <length> <composer>"
+ , "-T", show width, "-E", "…", "-M", "100", "-x", ""] 40
+
+mprisConfig client p = Bottom.config [Run (mpris p client 165)] "|mpris2|" p
+
+mpd = MPD [ "-W", "12", "-b", "░", "-f", "▒", "-t"
+ , " <lapsed> <fc=honeydew3><fn=5><bar></fn></fc>"] 10 -- fn=5
+
+
+mpdt' c0 c1 c2 = "<ppos>/<plength> "
+ ++ fc c0 "<title> " ++ fc c1 "<artist> " ++ fc c2 "<album>"
+ ++ " <composer> <date>"
+
+mpdt light =
+ if light
+ then mpdt' "darkolivegreen" "dodgerblue4" "burlywood4"
+ else mpdt' "darkseagreen4" "darkslategray4" "burlywood4"
+
+autoMPD l lgt =
+ AutoMPD [ "-T", l, "-E", "…", "-W", "10", "-t", "<length> " ++ mpdt lgt]
+
+mpdx a p i =
+ MPDX [ "-W", "12", "-b", "░", "-f", "▒", "-t", "<statei> <remaining>"
+ , "--", "-p", p, "-P", fni "\xf144", "-Z", fni i, "-S", fni i] 20 a
+
+mpdMon = mpdx "mpd" "6600" "\xf001"
+mopMon = mpdx "mopidy" "6669" "\xf1bc"
+
+mpdConfig p =
+ (Bottom.config [Run mpd, Run (autoMPD "150" (pIsLight p))] "|mpd| |autompd|" p)
+ {
+ textOffsets = [defaultHeight - 7, defaultHeight - 6]
+ }
+
+compMPD p = concatMonitor " " mpd (autoMPD "150" (pIsLight p))
+alt x p = altMonitor (mpris p x 165) (compMPD p)
+
+gpmd = Run (GMPDP "gmpdp")
+
+config cl p =
+ if cl == "mpd"
+ then mpdConfig p
+ else Bottom.config [Run (alt cl p)] "|mpris2_mpd_autompd|" p