X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/c7b41d9529f4fac35999f97b1af66674d1e170bf..5ba3a27a7112def5062d0afe23e7e0d34933d340:/mpd.md diff --git a/mpd.md b/mpd.md index d86b2c6..de945b4 100644 --- a/mpd.md +++ b/mpd.md @@ -1,6 +1,8 @@ +[<- widgets](https://github.com/copycat-killer/lain/wiki/Widgets) + Shows MPD status in a textbox. - mympd = lain.widgets.mpd() + mpdwidget = lain.widgets.mpd() Now playing songs are notified like this: @@ -12,56 +14,64 @@ Now playing songs are notified like this: | +-------+ | +--------------------------------------------------------+ -Dependencies - -- imagemagick - -The function takes a table as optional argument, which can contain: +### input table Variable | Meaning | Type | Default --- | --- | --- | --- +`timeout` | Refresh timeout seconds | int | 1 `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 +`settings` | User settings | function | empty function + +`settings` can use `mpd_now` table, which contains the following string values: + +- state (possible values: "play", "pause", "stop") +- file +- artist +- title +- album +- date + +and can modify `mpd_notification_preset` table, which will be the preset for the naughty notifications. Check [here](http://awesome.naquadah.org/doc/api/modules/naughty.html#notify) for the list of variables it can contain. Default definition: -**Note**: `spr` can be a markup text. + mpd_notification _preset = { + title = "Now playing", + timeout = 6, + text = string.format("%s (%s) - %s\n%s", mpd_now.artist, + mpd_now.album, mpd_now.date, mpd_now.title) + } -`lain.widgets.mpd` outputs the following table: +### output 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: +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), + function () + awful.util.spawn_with_shell("mpc toggle || ncmpcpp toggle || ncmpc toggle || pms toggle") + mpdwidget.update() + end), awful.key({ altkey, "Control" }, "Down", - function () - awful.util.spawn_with_shell( "mpc stop || ncmpcpp stop || ncmpc stop || pms stop", false ) - mympd.notify() - end), + function () + awful.util.spawn_with_shell("mpc stop || ncmpcpp stop || ncmpc stop || pms stop") + mpdwidget.update() + end), awful.key({ altkey, "Control" }, "Left", - function () - awful.util.spawn_with_shell( "mpc prev || ncmpcpp prev || ncmpc prev || pms prev", false ) - mympd.notify() - end), + function () + awful.util.spawn_with_shell("mpc prev || ncmpcpp prev || ncmpc prev || pms prev") + mpdwidget.update() + end), awful.key({ altkey, "Control" }, "Right", - function () - awful.util.spawn_with_shell( "mpc next || ncmpcpp next || ncmpc next || pms next", false ) - mympd.notify() - end), + function () + awful.util.spawn_with_shell("mpc next || ncmpcpp next || ncmpc next || pms next") + mpdwidget.update() + end), where `altkey = "Mod1"`. \ No newline at end of file