-Shows mpd status in a textbox.
+[<- widgets](https://github.com/copycat-killer/lain/wiki/Widgets)
- mympd = lain.widgets.mpd()
+Shows MPD status in a textbox.
+
+ mpdwidget = lain.widgets.mpd()
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
--- | --- | --- | ---
-`password` | Mpd password | string | ""
-`host` | Mpd server | string | "127.0.0.1"
-`port` | Mpd port | string | "6600"
+`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 `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.
+ notification _preset = {
+ title = "Now playing",
+ text = mpd_now.artist .. " (" ..
+ mpd_now.album .. ") - " ..
+ mpd_now.date .. "\n" ..
+ mpd_now.title,
+ fg = beautiful.fg_normal or "#FFFFFF",
+ bg = beautiful.bg_normal or "#000000",
+ timeout = 6
+ }
-`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.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),
+ function ()
+ awful.util.spawn_with_shell("mpc stop || ncmpcpp stop || ncmpc stop || pms stop")
+ mpdwidget.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),
+ function ()
+ awful.util.spawn_with_shell("mpc prev || ncmpcpp prev || ncmpc prev || pms prev")
+ mpdwidget.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),
+ function ()
+ awful.util.spawn_with_shell("mpc next || ncmpcpp next || ncmpc next || pms next")
+ mpdwidget.notify()
+ end),
where `altkey = "Mod1"`.
\ No newline at end of file