diff options
author | Robert Stoll <rstoll@tutteli.ch> | 2020-11-01 22:37:11 +0100 |
---|---|---|
committer | Robert Stoll <rstoll@tutteli.ch> | 2020-11-01 22:39:17 +0100 |
commit | 0915a81e5432c0e742bbd1114584b0e6d58e15e6 (patch) | |
tree | 83f3ad4ed5b831be0f4f95c1ce06bb2f007475b0 | |
parent | ef9292d082d74ac09cfc3e874ef8c933be9e0651 (diff) |
show notification on right click for volume/battery
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | battery-widget/battery.lua | 7 | ||||
-rw-r--r-- | volume-widget/volume.lua | 19 |
3 files changed, 23 insertions, 8 deletions
@@ -40,4 +40,7 @@ luac.out *.hex # IDEA files -.idea
\ No newline at end of file +.idea + +# vscode files +.history
\ No newline at end of file diff --git a/battery-widget/battery.lua b/battery-widget/battery.lua index 9fa50ed..8a6982a 100644 --- a/battery-widget/battery.lua +++ b/battery-widget/battery.lua @@ -32,6 +32,7 @@ local function worker(args) local margin_right = args.margin_right or 0 local display_notification = args.display_notification or false + local display_notification_onClick = args.display_notification_onClick or true local position = args.notification_position or "top_right" local timeout = args.timeout or 10 @@ -182,7 +183,13 @@ local function worker(args) if display_notification then battery_widget:connect_signal("mouse::enter", function() show_battery_status(batteryType) end) battery_widget:connect_signal("mouse::leave", function() naughty.destroy(notification) end) + elseif display_notification_onClick then + battery_widget:connect_signal("button::press", function(_,_,_,button) + if (button == 3) then show_battery_status(batteryType) end + end) + battery_widget:connect_signal("mouse::leave", function() naughty.destroy(notification) end) end + return wibox.container.margin(battery_widget, margin_left, margin_right) end diff --git a/volume-widget/volume.lua b/volume-widget/volume.lua index 1a670ef..0e13f38 100644 --- a/volume-widget/volume.lua +++ b/volume-widget/volume.lua @@ -19,7 +19,7 @@ local PATH_TO_ICONS = "/usr/share/icons/Arc/status/symbolic/" local volume_icon_name="audio-volume-high-symbolic" local GET_VOLUME_CMD = 'amixer sget Master' -local volume = {device = '', display_notification = false, notification = nil, delta = 5} +local volume = {device = '', display_notification = false, display_notification_onClick = true, notification = nil, delta = 5} function volume:toggle() volume:_cmd('amixer ' .. volume.device .. ' sset Master toggle') @@ -64,14 +64,14 @@ end local function update_graphic(widget, stdout, _, _, _) local txt = parse_output(stdout) widget.image = PATH_TO_ICONS .. volume_icon_name .. ".svg" - if volume.display_notification then + if (volume.display_notification or volume.display_notification_onClick) then volume.notification.iconbox.image = PATH_TO_ICONS .. volume_icon_name .. ".svg" naughty.replace_text(volume.notification, "Volume", txt) end end local function notif(msg, keep) - if volume.display_notification then + if (volume.display_notification or (keep and volume.display_notification_onClick)) then naughty.destroy(volume.notification) volume.notification= naughty.notify{ text = msg, @@ -94,6 +94,7 @@ local function worker(args) local volume_audio_controller = args.volume_audio_controller or 'pulse' volume.display_notification = args.display_notification or false + volume.display_notification_onClick = args.display_notification_onClick or true volume.position = args.notification_position or "top_right" if volume_audio_controller == 'pulse' then volume.device = '-D pulse' @@ -134,10 +135,9 @@ local function worker(args) end local function show() - spawn.easy_async(GET_VOLUME_CMD, - function(stdout, _, _, _) - txt = parse_output(stdout) - notif(txt, true) + spawn.easy_async(GET_VOLUME_CMD, function(stdout, _, _, _) + txt = parse_output(stdout) + notif(txt, true) end ) end @@ -156,6 +156,11 @@ local function worker(args) if volume.display_notification then volume.widget:connect_signal("mouse::enter", function() show() end) volume.widget:connect_signal("mouse::leave", function() naughty.destroy(volume.notification) end) + elseif volume.display_notification_onClick then + volume.widget:connect_signal("button::press", function(_,_,_,button) + if (button == 3) then show() end + end) + volume.widget:connect_signal("mouse::leave", function() naughty.destroy(volume.notification) end) end --}}} |