xmonadでフルスクリーン時にxmobarも表示する.
Livedoorブログからの移動
ネット上に転がっているxmonadの設定だと, M-f
でフルスクリーンにするような設定がよく書かれている(こことか). 自分のxmonad.hs
から該当する部分を抜き出すと, 以下のようなコードがその設定に該当する.
...
("M-f", sendMessage $ Toggle FULL) -- キーバインドの設定
...
, layoutHook = mkToggle1 FULL $ (desktopLayoutModifiers (named "V" tall ||| (named "H" $ Mirror tall) ||| (named "F" $ Full)))
...
でも, xmobarを用いた場合, フルスクリーンにしてもそのステータスバーだけは見たいってこともあると思う. 自分野調べた限り, そういうような設定はネット上になかったので, メモしておく.
{-# LANGUAGE DeriveDataTypeable, TypeSynonymInstances,MultiParamTypeClasses #-}
...
xmobarLayoutHook = drawer `onTop` Full
where
drawer = simpleDrawer 0.019 0.3 (ClassName "xmobar")
data MyTransformer = TOPXMOBAR deriving (Read, Show, Eq, Typeable)
instance Transformer MyTransformer Window where
transform TOPXMOBAR x k = k xmobarLayoutHook (const x)
...
("M-f", sendMessage $ Toggle TOPXMOBAR)
...
, layoutHook = mkToggle1 TOPXMOBAR $ (desktopLayoutModifiers (named "V" tall ||| (named "H" $ Mirror tall) ||| (named "F" $ Full)))
ちなみにHaskellの構文は覚えているけど用語は全く知らないので, 詳しい人が見たら怒りそうなプログラムだと思う. 綺麗なコードを書きたい人は自分で書き直すのがおすすめ.
これ書いててわかったことは, xmonadは所詮行数少ない(1000行程度だっけ?)ので, 困ったらソース読むのが一番早いということ. Ubuntuでaptでインストールしているなら, /usr/share/doc/libghc-xmonad-contrib-doc/html/src
と/usr/share/doc/libghc-xmonad-doc/html/src
にソースコードが載っている.