我正在考虑切换到 Awesome WM(出于多种原因,可破解性可能是最重要的 - 我是 Emacs 的重度用户;-))。
几年前我曾经使用过平铺 WM(StumpWM)一段时间,它有一个很好的功能,即仅绑定(bind)一个键作为“前缀”。我将其设置为(否则对我来说无用)“菜单”键,因此基本上所有 WM 绑定(bind)都是“按菜单,释放它,按其他内容”。
从文档/教程中我可以看到 Awesome 有一个稍微不同的方法将其函数绑定(bind)到“modkey+something”。
是否可以像我习惯的那样使用“菜单”作为“粘性模式键”?或者更确切地说,我该怎么做?
最佳答案
您可以为菜单键创建一个“正常”键绑定(bind),在其中启动一个键盘抓取器并使用它来获取后面的“东西”。这意味着您必须自己重新发明一些轮子,因为 AwesomeWM 中的代码不会为您管理键绑定(bind),但它应该是可行的。
简单的示例对您入门没有多大帮助:
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,
它的作用是在释放菜单键后打印第一个“键盘事件”。这可以例如是“在释放菜单键之前按下了一个键”,但您可能只关心“按下了”之类的事情...
关于awesome-wm - 菜单键作为 Awesome WM 的粘性模式键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56337295/