lain/mpd.md

71 lines
2.5 KiB
Markdown
Raw Normal View History

2013-09-07 14:33:53 +02:00
[<- widgets](https://github.com/copycat-killer/lain/wiki/Widgets)
2013-09-07 13:37:51 +02:00
Shows MPD status in a textbox.
2013-09-07 13:30:54 +02:00
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
--- | --- | --- | ---
2013-09-07 13:37:51 +02:00
`password` | MPD password | string | ""
`host` | MPD server | string | "127.0.0.1"
`port` | MPD port | string | "6600"
2013-09-07 13:30:54 +02:00
`music_dir` | Music directory | string | "~/Music"
`refresh_timeout` | Refresh timeout seconds | int | 1
2013-09-09 14:14:40 +02:00
`header` | Text before values | string | ""
`artist_color` | Artist value color | string | `beautiful.fg_normal` or "#FFFFFF"
`song_color` | Song value color | string | `beautiful.fg_focus` or "#FFFFFF"
2013-09-07 13:30:54 +02:00
`spr` | Separator text between artist and song values | string | " "
2013-09-08 19:21:51 +02:00
`footer` | Text to append after values | string | ""
2013-09-07 13:30:54 +02:00
`app` | Music program to spawn on click | string | "ncmpcpp"
`shadow` | Hide widget when there are no songs playing | boolean | false
2013-09-08 19:21:51 +02:00
**Note**: `spr` and `footer` can be markup text.
2013-09-07 13:30:54 +02:00
`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",
2013-09-08 01:37:33 +02:00
function ()
awful.util.spawn_with_shell("mpc toggle || ncmpcpp toggle || ncmpc toggle || pms toggle")
mpdwidget.notify()
end),
2013-09-07 13:30:54 +02:00
awful.key({ altkey, "Control" }, "Down",
2013-09-08 01:37:33 +02:00
function ()
awful.util.spawn_with_shell("mpc stop || ncmpcpp stop || ncmpc stop || pms stop")
mpdwidget.notify()
end),
2013-09-07 13:30:54 +02:00
awful.key({ altkey, "Control" }, "Left",
2013-09-08 01:37:33 +02:00
function ()
awful.util.spawn_with_shell("mpc prev || ncmpcpp prev || ncmpc prev || pms prev")
mpdwidget.notify()
end),
2013-09-07 13:30:54 +02:00
awful.key({ altkey, "Control" }, "Right",
2013-09-08 01:37:33 +02:00
function ()
awful.util.spawn_with_shell("mpc next || ncmpcpp next || ncmpc next || pms next")
mpdwidget.notify()
end),
2013-09-07 13:30:54 +02:00
where `altkey = "Mod1"`.