aboutsummaryrefslogtreecommitdiffstats
path: root/src/screen_browser.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/screen_browser.c')
-rw-r--r--src/screen_browser.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/screen_browser.c b/src/screen_browser.c
index d7dea635e..694987fae 100644
--- a/src/screen_browser.c
+++ b/src/screen_browser.c
@@ -455,6 +455,8 @@ bool
browser_cmd(struct screen_browser *browser, struct screen *screen,
struct mpdclient *c, command_t cmd)
{
+ struct filelist_entry *entry;
+
switch (cmd) {
case CMD_PLAY:
browser_handle_enter(browser, c);
@@ -494,6 +496,20 @@ browser_cmd(struct screen_browser *browser, struct screen *screen,
browser_handle_mouse_event(browser, c);
return true;
+#ifdef ENABLE_LYRICS_SCREEN
+ case CMD_SCREEN_LYRICS:
+ entry = browser_get_selected(browser);
+ if (entry == NULL)
+ return false;
+
+ if (entry->entity == NULL ||
+ entry->entity->type != MPD_INFO_ENTITY_TYPE_SONG)
+ return true;
+
+ screen_lyrics_switch(c, entry->entity->info.song);
+ return true;
+#endif
+
default:
break;
}