【问题标题】:Menu key as a sticky modkey for Awesome WM菜单键作为 Awesome WM 的粘性 modkey
【发布时间】:2019-05-29 14:04:11
【问题描述】:

我正在考虑切换到 Awesome WM(出于多种原因,可破解性可能是最重要的 - 我是 Emacs 的重度用户;-))。

几年前我曾经使用平铺WM(StumpWM),它有一个很好的功能,可以只绑定一个键作为“前缀”。我将它设置为(否则对我来说没用)“菜单”键,所以基本上所有 WM 绑定都是“按下菜单,释放它,按下其他东西”。

从文档/教程中,我可以看到 Awesome 将其函数绑定到“modkey+something”的方法略有不同。

是否可以像我以前那样使用“菜单”作为“粘性修改键”?或者更确切地说,我该怎么做?

【问题讨论】:

    标签: awesome-wm


    【解决方案1】:

    您可以为 Menu 键创建一个“普通”键绑定,在其中启动一个 keygrabber 并使用它来获取随后的“某物”。这意味着您必须自己重新发明一些轮子,因为 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'被按下”之类的东西......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多