繁体   English   中英

Xmonad - 作为 ManageHook 的一部分,我如何移动鼠标指针?

[英]Xmonad - How do I move mouse pointer as part of ManageHook?

鉴于此示例myManageHook 我怎么能叫UpdatePointerdoIgnore 我所有的尝试都导致类型不兼容。

myManageHook = composeAll . concat $
    [
      -- IntelliJ idea Tweaks
      -- Manage idea completion window
      , [ appName =? "sun-awt-X11-XWindowPeer" <&&> className =? "jetbrains-idea" --> doIgnore ]
      , [ (className ~=? "jetbrains-") <&&> (title ~=? "Changes in") -->  unfloat ]
    ]
    where
      unfloat = ask >>= doF . W.sink

我的问题是,如果我的鼠标指针位于建议下拉框上,则 IntelliJ Idea 弹出窗口在键入过程中会失去焦点。 这就是为什么当这个窗口出现时我试图将鼠标移动到屏幕的上部。

在此处输入图片说明

UPD找到了相关线程以及 Idea https://youtrack.jetbrains.com/issue/IDEA-112015#comment=27-2362253

您可以使用liftXX操作转换为Query操作。 不过,您可能想使用XMonad.Actions.Warp而不是XAUpdatePointer 后者看起来可能会在管理钩子期间明智地触发它可能会产生太多的魔力。 无论如何,一旦您看到如何解除X动作,您就应该能够自己尝试一下。

因此,对于banish ,你可以使用liftX这样的:

... --> (liftX (banish UpperLeft) >> doIgnore)

其他X动作可以类似地使用doIgnore解除和排序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM