[英]Xmonad - How do I move mouse pointer as part of ManageHook?
鉴于此示例myManageHook
。 我怎么能叫UpdatePointer后doIgnore
? 我所有的尝试都导致类型不兼容。
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
您可以使用liftX
将X
操作转换为Query
操作。 不过,您可能想使用XMonad.Actions.Warp
而不是XAUpdatePointer
; 后者看起来可能会在管理钩子期间明智地触发它可能会产生太多的魔力。 无论如何,一旦您看到如何解除X
动作,您就应该能够自己尝试一下。
因此,对于banish
,你可以使用liftX
这样的:
... --> (liftX (banish UpperLeft) >> doIgnore)
其他X
动作可以类似地使用doIgnore
解除和排序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.