首页 > 解决方案 > XMonad“切换”键绑定

问题描述

嗨,我对 XMonad 和 haskell 完全陌生,我很难为键绑定定义自定义函数。

我正在使用XMonad.Actions.TagWindows并且我正在尝试定义一个函数,该函数可以在当前工作区中带来带有特定标签的窗口,或者如果它被标记,则在指定的工作区中发送焦点窗口。现在我已经使用两种不同的键绑定实现了这种行为。

    , ((0,   xK_KP_Home  ), withTaggedGlobalP "Editor" shiftHere)
    , ((altKPMask,   xK_KP_Home  ), withTaggedP "Editor" (W.shiftWin "Editor"))

这大致符合我的要求,但我想为它设置一个键绑定,所以我尝试定义检查聚焦窗口标签并进行相应行为的函数,这就是我想出的:

    tagFunc tag w = 
         if hasTag tag w 
         then W.shiftWin tag w 
         else  withTaggedGlobal tag shiftHere

但我得到一个错误说明

Couldn't match expected type `Bool` with actual type `X Bool`

而且我不知道如何解决它,我一直在寻找一种将 X Bool 转换为 Bool 的方法,但没有成功。

非常感谢您提前。

标签: haskellxmonad

解决方案


推荐阅读