awesome-wm - 菜单键作为 Awesome WM 的粘性模式键

标签 awesome-wm

我正在考虑切换到 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/

相关文章:

lua - Awesome WM (v3.5.5) keygrabber 替代品

linux - awesome wm - 如何将一个键绑定(bind)到另一个键

linux - 卷起/遮挡 float 窗口真棒?

user-interface - Awesome wm 无法打开任何窗口或终端

lua - 很棒的 wm 中的 cpu 温度小部件

build - Cmake 不尊重 CMAKE_INSTALL_PREFIX 的值

window-managers - 如何在很棒的窗口管理器版本 >4 中删除标题栏

awesome-wm - 任务栏中的加号

menu - 在 Awesome WM 菜单中切换用户

lua - 每个标签列表项都有不同的背景颜色 AwesomeWM