0
カスタムレイアウトで処理するカスタムメッセージを実装したいと思います。Xmonadでカスタムメッセージを作成して処理する方法は?
data ModifySideContainer = IncrementLeftColumnContainer | IncrementRightColumnContainer deriving Typeable
instance Message ModifySideContainer
私はこれが(カスタムレイアウト内の)私の現在のPureMessage実装です(https://hackage.haskell.org/package/xmonad-0.13/docs/XMonad-Core.html#v:pureMessage)
pureMessage
内のカスタムメッセージを処理する方法があまりにもわからない:
pureMessage [email protected](MiddleColumn sr mcc deltaInc _) m = msum [
fmap resize (fromMessage m),
fmap incmastern (fromMessage m)
]
where
resize Expand = l {splitRatio = (min 0.5 $ sr + deltaInc)}
resize Shrink = l {splitRatio = (max 0 $ sr - deltaInc)}
incmastern (IncMasterN x) = l { middleColumnCount = max 0 (mcc+x) }
Iドンこの論理がどのように働くか(私はどこかからコピーしました)、ここではmsum
は何ですか?私は、Maybe
のインスタンス宣言がmplus
であることを知っています。