summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAugusto Gunsch <augusto@augustogunsch.com>2022-07-10 20:59:28 +0200
committerAugusto Gunsch <augusto@augustogunsch.com>2022-07-10 20:59:28 +0200
commit12cfe038f87b2f8366e9865135087a61b5a3c2c0 (patch)
tree9f6023cecd5f12bc0712c187ea27f0450c7f5464
parent83914c91c86eee4d70120a2849e752f7762908d7 (diff)
Add more functions for cmus widget
-rw-r--r--cmus-widget/README.md9
-rw-r--r--cmus-widget/cmus.lua28
2 files changed, 31 insertions, 6 deletions
diff --git a/cmus-widget/README.md b/cmus-widget/README.md
index eec5773..0f6dbc2 100644
--- a/cmus-widget/README.md
+++ b/cmus-widget/README.md
@@ -31,10 +31,11 @@ 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"}),
```
## Customization
diff --git a/cmus-widget/cmus.lua b/cmus-widget/cmus.lua
index 2ffa872..d676550 100644
--- a/cmus-widget/cmus.lua
+++ b/cmus-widget/cmus.lua
@@ -96,14 +96,38 @@ 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 -u")
+ cmus_widget.update()
+ end
+
+ function cmus_widget:next_track()
+ spawn("cmus-remote -u")
+ cmus_widget.update()
+ end
+
+ function cmus_widget:prev_track()
+ spawn("cmus-remote -u")
+ cmus_widget.update()
+ end
+
cmus_widget.widget:buttons(
awful.util.table.join(
awful.button({}, 1, function() cmus_widget:play_pause() end)