diff options
-rw-r--r-- | cmus-widget/README.md | 10 | ||||
-rw-r--r-- | cmus-widget/cmus.lua | 33 |
2 files changed, 37 insertions, 6 deletions
diff --git a/cmus-widget/README.md b/cmus-widget/README.md index eec5773..e33655e 100644 --- a/cmus-widget/README.md +++ b/cmus-widget/README.md @@ -31,10 +31,12 @@ s.mytasklist, -- Middle widget To improve responsiveness of the widget when playback is changed by a shortcut use corresponding methods of the widget: ```lua -awful.key({ modkey, "Shift" }, - "p", - function() cmus_widget:play_pause() end, - {description = "play/pause cmus", group = "custom"}), +awful.key({ modkey, "Shift" }, "p", function () cmus_widget:play_pause() end, {description = "toggle track", group = "cmus"}), +awful.key({ }, "XF86AudioPlay", function () cmus_widget:play() end, {description = "play track", group = "cmus"}), +awful.key({ }, "XF86AudioPause", function () cmus_widget:play() end, {description = "pause track", group = "cmus"}), +awful.key({ }, "XF86AudioNext", function () cmus_widget:next_track() end, {description = "next track", group = "cmus"}), +awful.key({ }, "XF86AudioPrev", function () cmus_widget:prev_track() end, {description = "previous track", group = "cmus"}), +awful.key({ }, "XF86AudioStop", function () cmus_widget:stop() end, {description = "stop cmus", group = "cmus"}), ``` ## Customization diff --git a/cmus-widget/cmus.lua b/cmus-widget/cmus.lua index 2ffa872..b1287c5 100644 --- a/cmus-widget/cmus.lua +++ b/cmus-widget/cmus.lua @@ -96,14 +96,43 @@ local function worker(user_args) end end - function cmus_widget:play_pause() - spawn("cmus-remote -u") + function cmus_widget:update() spawn.easy_async("cmus-remote -Q", function(stdout, _, _, code) update_widget(cmus_widget.widget, stdout, _, _, code) end) end + function cmus_widget:play_pause() + spawn("cmus-remote -u") + cmus_widget.update() + end + + function cmus_widget:pause() + spawn("cmus-remote -U") + cmus_widget.update() + end + + function cmus_widget:play() + spawn("cmus-remote -p") + cmus_widget.update() + end + + function cmus_widget:next_track() + spawn("cmus-remote -n") + cmus_widget.update() + end + + function cmus_widget:prev_track() + spawn("cmus-remote -r") + cmus_widget.update() + end + + function cmus_widget:stop() + spawn("cmus-remote -s") + cmus_widget.update() + end + cmus_widget.widget:buttons( awful.util.table.join( awful.button({}, 1, function() cmus_widget:play_pause() end) |