2017-10-18 6 views
1

このサンプルが与えられた場合myManageHookdoIgnoreの後にUpdatePointerに電話するにはどうすればよいですか?すべての試行で型の非互換性が生じました。Xmonad - ManageHookの一部としてマウスポインタを移動するにはどうすればいいですか?

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のアイデアポップアップウィンドウが私のマウスポインタが提案ドロップボックスの上に配置されている場合入力時にフォーカスを失ったということです。そのため、このウィンドウが表示されたら、画面の上部にマウスを移動しようとしています。

enter image description here

UPDはアイデアhttps://youtrack.jetbrains.com/issue/IDEA-112015#comment=27-2362253

答えて

1

あなたはQuery行動にXアクションをオンにするliftXを使用することができますのための回避策との関連スレッドを発見しました。代わりに、代わりにX.A.UpdatePointerの代わりにXMonad.Actions.Warpを使用します。後者は、管理フック中に賢明に発射するにはあまりにも多くの魔法を尽くすかもしれないように見えます。とにかく、あなたはXの行動を起こす方法を見たら自分でそれを試すことができるはずです。このような

ので、banishのために、あなたが使用することができliftX

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

その他Xアクションが上昇し、同様にdoIgnoreを配列決定することができます。

+0

ありがとう、それを試みます。私は 'liftX'を見ましたが、' UpdatePointer'でそれを適切に使用することはできませんでした。 – Dmitriusan

+0

@Dmitriusanあなたが試したことの詳細と何が間違っていたかを自由に質問してください。 –

+0

は、あなたがコンパイルするコードのようですが、マネージメントフックがトリガされたときに 'banish UpperLeft'は実行されません(カーソルは移動しません)。あなたは何が間違っているかも知っていますか、あるいは新しい質問を開くべきですか? – Dmitriusan

関連する問題