From 1e4bf83d3b37bd0325dfcd4975fb5e7b09e13e62 Mon Sep 17 00:00:00 2001 From: Anurag Priyam Date: Thu, 1 Mar 2012 14:12:56 -0500 Subject: [PATCH] awful.menu: always enable keyboard navigation I don't see why people would not want keyboard-enabled-menu by default. Without it, you can't even use 'Escape' to quit the menu or press 'Enter' to execute an entry. But instead of just enabling keyboard support by default, we remove the option of disabling keyboard support altogether, which also simplifies the implementation a bit. Signed-off-by: Anurag Priyam Signed-off-by: Uli Schlachter --- awesomerc.lua.in | 2 +- lib/awful/menu.lua.in | 24 ++++-------------------- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/awesomerc.lua.in b/awesomerc.lua.in index 3929d9fc2..ceac430eb 100644 --- a/awesomerc.lua.in +++ b/awesomerc.lua.in @@ -210,7 +210,7 @@ globalkeys = awful.util.table.join( awful.client.focus.byidx(-1) if client.focus then client.focus:raise() end end), - awful.key({ modkey, }, "w", function () mymainmenu:show({keygrabber=true}) end), + awful.key({ modkey, }, "w", function () mymainmenu:show() end), -- Layout manipulation awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end), diff --git a/lib/awful/menu.lua.in b/lib/awful/menu.lua.in index 3e8566fc9..3f3fea0ec 100644 --- a/lib/awful/menu.lua.in +++ b/lib/awful/menu.lua.in @@ -316,26 +316,16 @@ end --- Show a menu. -- @param menu The menu to show. --- @param args.keygrabber A boolean enabling or not the keyboard navigation. -- @param args.coords Menu position defaulting to mouse.coords() function show(menu, args) args = args or {} local coords = args.coords or nil local screen_index = capi.mouse.screen - local keygrabber = args.keygrabber or false if not set_size(menu) then return end set_coords(menu, screen_index, coords) - if menu.parent then - menu.keygrabber = menu.parent.keygrabber - elseif keygrabber ~= nil then - menu.keygrabber = keygrabber - else - menu.keygrabber = false - end - - if not cur_menu and menu.keygrabber then + if not cur_menu then capi.keygrabber.run(grabber) end cur_menu = menu @@ -358,7 +348,7 @@ function hide(menu) if cur_menu == menu then cur_menu = cur_menu.parent end - if not cur_menu and menu.keygrabber then + if not cur_menu then capi.keygrabber.stop() end menu.wibox.visible = false @@ -366,7 +356,6 @@ end --- Toggle menu visibility. -- @param menu The menu to show if it's hidden, or to hide if it's shown. --- @param args.keygrabber A boolean enabling or not the keyboard navigation. -- @param args.coords Menu position {x,y} function toggle(menu, args) if menu.wibox.visible then @@ -380,9 +369,7 @@ end -- @param menu The mnenu to update. function update(menu) if menu.wibox.visible then - menu:show({ - keygrabber = menu.keygrabber, - coords = { x = menu.x, y = menu.y } }) + menu:show({ coords = { x = menu.x, y = menu.y } }) end end @@ -488,7 +475,6 @@ end --- Build a popup menu with running clients and shows it. -- @param menu Menu table, see new() function for more informations --- @param args.keygrabber A boolean enabling or not the keyboard navigation. -- @return The menu. function clients(menu, args) -- FIXME crude api menu = menu or {} @@ -644,9 +630,7 @@ end --     }
--    end
--   end
---   m = awful.menu(terms)
---   m:show({keygrabber=true})
---   return m
+--   awful.menu(terms):show()
-- end
--

function new(args, parent)