我正在考虑切换到Awesome (出于几个原因,可攻击性可能是最重要的--我是一个重度Emacs用户;-)。
几年前,我曾经使用过一段时间的平铺WM (StumpWM),它有一个很好的特性,它只绑定一个键作为“前缀”。我将其设置为“菜单”键(否则对我无用),因此基本上所有的WM绑定都是“按下菜单,松开它,再按下其他东西”。
从文档/教程中,我可以看到Awesome将其函数绑定到"modkey+something“的方法略有不同。
可以像我习惯的那样使用"menu“作为"sticky modkey”吗?或者更确切地说,我该怎么做?
发布于 2019-05-29 14:04:12
你可以为菜单键创建一个“普通”的按键绑定,在其中启动一个按键抓取器,并使用它来获取随后的“一些东西”。这意味着你必须自己重新发明一些轮子,因为AwesomeWM中的代码不会为你管理键绑定,但它应该是可行的。
快速示例,它对您的入门帮助不大:
diff --git a/awesomerc.lua b/awesomerc.lua
index 5d2bd2c10..7973b210a 100644
--- a/awesomerc.lua
+++ b/awesomerc.lua
@@ -242,6 +243,12 @@ root.buttons(gears.table.join(
-- {{{ Key bindings
-- @DOC_GLOBAL_KEYBINDINGS@
globalkeys = gears.table.join(
+ awful.key({}, "Menu", nil, function()
+ keygrabber.run(function(mods, key, action)
+ print("You did:", gears.debug.dump_return(mods), key, action)
+ keygrabber.stop()
+ end)
+ end),
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description="show help", group="awesome"}),
awful.key({ modkey, }, "Left", awful.tag.viewprev,这样做的目的是在释放菜单键之后打印第一个“键盘事件”。例如,这可以是“在释放菜单键之前已按下的键”,但您可能只关心"'s‘已按下“之类的事情……
https://stackoverflow.com/questions/56337295
复制相似问题