summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBart Verhagen <bart@verhagenconsultancy.be>2020-05-29 17:53:10 +0200
committerBart Verhagen <bart@verhagenconsultancy.be>2020-05-29 17:53:10 +0200
commit120e15ee161cfe0091c6f1e86138101d63dc64c3 (patch)
tree373a55ea97587f97bc5247f440acbe88cacad9a7
parent4204fa824181a90c09c4306481a7fa2538bcce52 (diff)
New: Usr: Added user customizable button press behaviour for the volumearc widget
This allows the user to override the default implementation in his/her own config upon the widget creation
-rw-r--r--volumearc-widget/README.md7
-rw-r--r--volumearc-widget/volumearc.lua5
2 files changed, 9 insertions, 3 deletions
diff --git a/volumearc-widget/README.md b/volumearc-widget/README.md
index 5fc0a5b..8f13bbf 100644
--- a/volumearc-widget/README.md
+++ b/volumearc-widget/README.md
@@ -25,6 +25,7 @@ It is possible to customize widget by providing a table with all or some of the
| `inc_volume_cmd` | `amixer -D pulse sset Master 5%+` | Increase volume level |
| `dec_volume_cmd` | `amixer -D pulse sset Master 5%-` | Decrease volume level |
| `tog_volume_cmd` | `amixer -D pulse sset Master toggle` | Mute / unmute |
+| `button_press` | `function(_, _, _, button) <sane default logic> end` | Overwrite the 'button\_press' signal for this widget |
### Example:
@@ -33,7 +34,11 @@ volumearc_widget({
main_color = '#af13f7',
mute_color = '#ff0000',
thickness = 5,
- height = 25
+ height = 25,
+ button_press = function(_, _, _, button) -- Overwrites the button press behaviour to open pavucontrol when clicked
+ if (button == 1) then awful.spawn('pavucontrol --tab=3', false)
+ end
+ end
})
```
diff --git a/volumearc-widget/volumearc.lua b/volumearc-widget/volumearc.lua
index eb2ff68..c582c10 100644
--- a/volumearc-widget/volumearc.lua
+++ b/volumearc-widget/volumearc.lua
@@ -69,7 +69,7 @@ local function worker(args)
or { main_color }
end
- volumearc:connect_signal("button::press", function(_, _, _, button)
+ local button_press = args.button_press or function(_, _, _, button)
if (button == 4) then awful.spawn(inc_volume_cmd, false)
elseif (button == 5) then awful.spawn(dec_volume_cmd, false)
elseif (button == 1) then awful.spawn(tog_volume_cmd, false)
@@ -78,7 +78,8 @@ local function worker(args)
spawn.easy_async(get_volume_cmd, function(stdout, stderr, exitreason, exitcode)
update_graphic(volumearc, stdout, stderr, exitreason, exitcode)
end)
- end)
+ end
+ volumearc:connect_signal("button::press", button_press)
watch(get_volume_cmd, 1, update_graphic, volumearc)