5

thisおよびthis issue で説明されているように、xmonad を compton と共に使用すると、フローティング ウィンドウが他のウィンドウの背後にレンダリングされることがあります。私が試してみたい回避策の 1 つは、xmonad で新しいフローティング ウィンドウを少し移動させることです。これにより、他のウィンドウの上に表示されるはずです。ただし、xmonad と Haskell は初めてなので、これを実現する方法がわかりません。

xmonad に「新しいフローティング ウィンドウが作成されたら、1 ピクセル右に移動する」ように指示するにはどうすればよいですか?

(xmonad-0.10 および xmonad-contrib-0.10)

4

2 に答える 2

1

窓をずらしたい人のために、次のようにします。

$HOME/.xmonad.xmonad.hs で:

いくつかのインポートを追加します (既存のものをスキップできます。Xmonad.StackSet の限定インポートと以下の「W.shift」に注意してください。別の名前でインポートした場合は、名前を調整する必要があります)。

import XMonad.Hooks.XPropManage
import qualified XMonad.StackSet as W
import XMonad.Actions.TagWindows
import Data.List

そして追加

manageHook = xPropManageHook xPropMatches

xPropMatches :: [XPropMatch]
xPropMatches = [ ( [(wM_CLASS, any (const True))], (return (W.shift "2"))) ]

すべてのウィンドウで機能するはずです。マッチングをコントロールしたい場合は、

(const True)

タイプを持つものに置き換えることができます

String -> Bool

例えば

("Vimperator" `isInfixOf`)

ソース: XPropManage

于 2012-09-16T14:33:24.943 に答える
0

問題は修正されました。この回避策はもう必要ありません。

于 2012-09-07T14:33:33.710 に答える