From e9eb20ed177b799a1cf353e0180c835a396c9be2 Mon Sep 17 00:00:00 2001 From: Luke Bonham Date: Sat, 7 Sep 2013 04:30:54 -0700 Subject: [PATCH] Created mpd (markdown) --- mpd.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 mpd.md diff --git a/mpd.md b/mpd.md new file mode 100644 index 0000000..17acab8 --- /dev/null +++ b/mpd.md @@ -0,0 +1,67 @@ +Shows mpd status in a textbox. + + mympd = lain.widgets.mpd() + +Now playing songs are notified like this: + + +--------------------------------------------------------+ + | +-------+ | + | |/^\_/^\| Now playing | + | |\ O O /| Cannibal Corpse (Hammer Smashed Face) - 1993 | + | | '.o.' | Hammer Smashed Face (Radio Disney Version) | + | +-------+ | + +--------------------------------------------------------+ + +Dependencies + +- imagemagick + +The function takes a table as optional argument, which can contain: + +Variable | Meaning | Type | Default +--- | --- | --- | --- +`password` | Mpd password | string | "" +`host` | Mpd server | string | "127.0.0.1" +`port` | Mpd port | string | "6600" +`music_dir` | Music directory | string | "~/Music" +`refresh_timeout` | Refresh timeout seconds | int | 1 +`color_artist` | Artist value color | string | `beautiful.fg_normal` or "#FFFFFF" +`color_song` | Song value color | string | `beautiful.fg_focus` or "#FFFFFF" +`spr` | Separator text between artist and song values | string | " " +`app` | Music program to spawn on click | string | "ncmpcpp" +`shadow` | Hide widget when there are no songs playing | boolean | false + +**Note**: `spr` can be a markup text. + +`lain.widgets.mpd` outputs the following table: + +Variable | Meaning | Type +--- | --- | --- +`widget` | The textbox | `wibox.widget.textbox` +`notify` | The notification | function + +Finally, you can control the widget with key bindings like these: + + -- MPD control + awful.key({ altkey, "Control" }, "Up", + function () + awful.util.spawn_with_shell( "mpc toggle || ncmpcpp toggle || ncmpc toggle || pms toggle", false ) + mympd.notify() + end), + awful.key({ altkey, "Control" }, "Down", + function () + awful.util.spawn_with_shell( "mpc stop || ncmpcpp stop || ncmpc stop || pms stop", false ) + mympd.notify() + end), + awful.key({ altkey, "Control" }, "Left", + function () + awful.util.spawn_with_shell( "mpc prev || ncmpcpp prev || ncmpc prev || pms prev", false ) + mympd.notify() + end), + awful.key({ altkey, "Control" }, "Right", + function () + awful.util.spawn_with_shell( "mpc next || ncmpcpp next || ncmpc next || pms next", false ) + mympd.notify() + end), + +where `altkey = "Mod1"`. \ No newline at end of file -- 2.39.2