summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Stoll <rstoll@tutteli.ch>2020-11-01 22:37:11 +0100
committerRobert Stoll <rstoll@tutteli.ch>2020-11-01 22:39:17 +0100
commit0915a81e5432c0e742bbd1114584b0e6d58e15e6 (patch)
tree83f3ad4ed5b831be0f4f95c1ce06bb2f007475b0
parentef9292d082d74ac09cfc3e874ef8c933be9e0651 (diff)
show notification on right click for volume/battery
-rw-r--r--.gitignore5
-rw-r--r--battery-widget/battery.lua7
-rw-r--r--volume-widget/volume.lua19
3 files changed, 23 insertions, 8 deletions
diff --git a/.gitignore b/.gitignore
index d0cf895..2c182f8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
--}}}