diff options
author | eylles <ed.ylles1997@gmail.com> | 2023-04-27 01:51:33 -0600 |
---|---|---|
committer | zachir <zachir@librem.one> | 2023-10-19 08:22:37 -0500 |
commit | 07dd7e3f9dd57530e16ac644e15521f37c60773b (patch) | |
tree | d6bf591ed4c0e82a2db411fa75cb8f06c771cca8 /logout-popup-widget | |
parent | 4374b2a5b4d73958847572eaa12e7643c7f48482 (diff) |
add hide on leave feature
Diffstat (limited to 'logout-popup-widget')
-rw-r--r-- | logout-popup-widget/README.md | 1 | ||||
-rw-r--r-- | logout-popup-widget/logout-popup.lua | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/logout-popup-widget/README.md b/logout-popup-widget/README.md index d95b692..b02f9b3 100644 --- a/logout-popup-widget/README.md +++ b/logout-popup-widget/README.md @@ -60,6 +60,7 @@ Then | `text_color` | `beautiful.fg_normal` | The color of text | | `label_color` | `beautiful.fg_normal` | The color of the button's label | | `phrases` | `{'Goodbye!'}` | The table with phrase(s) to show, if more than one provided, the phrase is chosen randomly. Leave empty (`{}`) to hide the phrase | +| `hide_on_leave` | `false` | If the popup should be hidden when the mouse leaves it | | `onlogout` | `function() awesome.quit() end` | Function which is called when the logout button is pressed | | `onlock` | `function() awful.spawn.with_shell("systemctl suspend") end` | Function which is called when the lock button is pressed | | `onreboot` | `function() awful.spawn.with_shell("reboot") end` | Function which is called when the reboot button is pressed | diff --git a/logout-popup-widget/logout-popup.lua b/logout-popup-widget/logout-popup.lua index efe6882..1462484 100644 --- a/logout-popup-widget/logout-popup.lua +++ b/logout-popup-widget/logout-popup.lua @@ -73,6 +73,7 @@ local function launch(args) local phrases = args.phrases or {'Goodbye!'} local icon_size = args.icon_size or 40 local icon_margin = args.icon_margin or 16 + local hide_on_leave = args.hide_on_leave or false local onlogout = args.onlogout or function () awesome.quit() end local onlock = args.onlock or function() awful.spawn.with_shell("i3lock") end @@ -124,6 +125,13 @@ local function launch(args) w.screen = mouse.screen w.visible = true + if hide_on_leave then + w:connect_signal("mouse::leave", function() + phrase_widget:set_text('') + capi.keygrabber.stop() + w.visible = false + end) + end awful.placement.centered(w) capi.keygrabber.run(function(_, key, event) |