Faw*_*es5 3 keyboard-shortcuts xmonad
我正在为 Xmonad 使用 EZConfig 模块。我想绑定ModMask s首先将我当前聚焦的窗口移动到我的另一个屏幕,然后将我的焦点移动到我的另一个屏幕。
使用 CycleWS 模块,这将通过运行“shiftNextScreen”后跟“nextScreen”来实现
我可以将两个命令绑定到一个键吗?
另外,我试着去
((modMask, xK_s),
shiftNextScreen nextScreen)
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为 nextScreen 成为 shiftNextScreen 的参数,这没有意义。我根本不知道haskell。
直到现在似乎没有人能回答你的问题。让我试一试:
TL; 博士
((modMask, xK_s),
sequence_ [shiftNextScreen, nextScreen])
Run Code Online (Sandbox Code Playgroud)
应该管用。
为什么?
如果您查看http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-CycleWS.html,
您会看到以下类型的函数:
nextScreen :: X ()
shiftNextScreen :: X ()
Run Code Online (Sandbox Code Playgroud)
连同 X 是 Monad 和键绑定类型的知识是
(ButtonMask,KeySym), X ()你想要的:
结合nextScreen并shiftNextScreen获得类型的结果X ()
如果我们简单地列出如下:
[nextScreen,shiftNextScreen]我们有 type [X ()], close 但还不是我们想要的。
我们知道 X 是一个 monad,对hoogle的快速搜索就会出现sequence_
这给了我们:
sequence_ [shiftNextScreen, nextScreen]
Run Code Online (Sandbox Code Playgroud)
它产生类型X (),因此是键映射右侧的有效操作。
| 归档时间: |
|
| 查看次数: |
1386 次 |
| 最近记录: |