From 1851a82fe14d75c112f94380c8127fa283d6b926 Mon Sep 17 00:00:00 2001 From: myk002 Date: Wed, 30 Nov 2022 18:11:02 -0800 Subject: [PATCH 1/2] close the hotkey menu if the mouse "flicks" onto it also initialize the selected item properly if the widget is anchored to the bottom of the screen --- plugins/lua/hotkeys.lua | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/plugins/lua/hotkeys.lua b/plugins/lua/hotkeys.lua index e3ad26e68..d4dc5d799 100644 --- a/plugins/lua/hotkeys.lua +++ b/plugins/lua/hotkeys.lua @@ -37,7 +37,8 @@ function HotspotMenuWidget:overlay_trigger() return MenuScreen{ hotspot_frame=self.frame, hotkeys=hotkeys, - bindings=bindings}:show() + bindings=bindings, + mouseover=self.mouseover}:show() end -- register the menu hotspot with the overlay @@ -57,6 +58,7 @@ MenuScreen.ATTRS{ hotspot_frame=DEFAULT_NIL, hotkeys=DEFAULT_NIL, bindings=DEFAULT_NIL, + mouseover=false, } -- get a map from the binding string to a list of hotkey strings that all @@ -114,10 +116,9 @@ local function get_choices(hotkeys, bindings, is_inverted) end function MenuScreen:init() - self.mouseover = false - + local is_inverted = not not self.hotspot_frame.b local choices,list_width = get_choices(self.hotkeys, self.bindings, - self.hotspot_frame.b) + is_inverted) local list_frame = copyall(self.hotspot_frame) list_frame.w = list_width + 2 @@ -173,6 +174,11 @@ function MenuScreen:init() }, }, } + + self.initialize = function() + print('initilize') + self.subviews.list:setSelected(is_inverted and #choices or 1) + end end function MenuScreen:onDismiss() @@ -219,6 +225,10 @@ function MenuScreen:onInput(keys) end function MenuScreen:onRenderFrame(dc, rect) + if self.initialize then + self.initialize() + self.initialize = nil + end self:renderParent() end From ce1ef15bb27e76d28ce1728930d808fa1ed6ac6b Mon Sep 17 00:00:00 2001 From: myk002 Date: Wed, 30 Nov 2022 18:13:19 -0800 Subject: [PATCH 2/2] reduce hotspot visuals to a single exclamation mark --- plugins/lua/hotkeys.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/lua/hotkeys.lua b/plugins/lua/hotkeys.lua index d4dc5d799..2fb1bf69e 100644 --- a/plugins/lua/hotkeys.lua +++ b/plugins/lua/hotkeys.lua @@ -19,7 +19,7 @@ HotspotMenuWidget.ATTRS{ } function HotspotMenuWidget:init() - self:addviews{widgets.Label{text='!!'}} + self:addviews{widgets.Label{text='!'}} self.mouseover = false end @@ -176,7 +176,6 @@ function MenuScreen:init() } self.initialize = function() - print('initilize') self.subviews.list:setSelected(is_inverted and #choices or 1) end end