Xmonad扩展来循环最近的窗口

Mat*_*ard 8 haskell xmonad

我觉得xmonad在两个窗口之间来回切换有点尴尬.是否允许这样的扩展(或核心xmonad的一部分)?

例如,我想经常在firefox和emacs之间切换,它们可能不在同一个工作区中.我目前使用gotoMenu通过输入来做这个M-g firefox<cr>,M-g emacs<cr>但这很尴尬,特别是如果有任何一个应用程序的多个实例.理想情况下,我想要一个单一的快捷方式来执行一个动作,比如给焦点到最近最近使用的无焦点窗口,我只需按下来回切换即可.

Gar*_*ett 10

XMonad.Actions.GroupNavigation似乎是一个完美的选择.要让模块跟踪您的窗口历史记录,请确保logHook调用historyHook.例如:

import XMonad.Actions.GroupNavigation
...
main = xmonad $ defaultConfig {
   ...
   , logHook = myLogHook xmobars >> historyHook
}
Run Code Online (Sandbox Code Playgroud)

然后为以下表达式创建一个键绑定,该表达式将在当前窗口和最近窗口之间切换.

("M-x", nextMatch History (return True))
Run Code Online (Sandbox Code Playgroud)

  • @Matthew如果你使用`XMonad.Util.EZConfig.additionalKeysP`来添加额外的键绑定,你可以用这种字符串格式指定它们.或者(从同一个地方导入),您可以使用`additionalKeys`来添加它们(使用(modm,xK_x)). (2认同)