2番目のモニタを使用するようにxorg.confをリセットした後、XMonad.Layout.NoBorders.smartBorders
もう機能しません:両方のモニターに1つのウィンドウしか開いておらず、ドッキングデバイスがない場合でも、メインウィンドウにはまだボーダーがあります。
誰でもこれをデバッグする方法がわかりますか?たとえば、標準出力に設定されたXMonadスタックをダンプしますか?ありがとうございます。
編集:またはsmartBordersが間違って実装されているか、他のlayoutHooksと奇妙な対話がある、または間違っていると仮定すると、XMonadスタックセットを確認してウィンドウlength the_current_stack
(現在の画面)を1に変更して、レイアウトを全画面に動的に切り替えます(または新しい窓が開いたらその逆)?
編集:noBorders
うまくいくようです。他のモジュール(smartBorder
フラグなど)はXMonad.Layout.Spacing.smartBorder
問題なくマルチスクリーンモードで動作します。上記のコードの一番下には、「あいまいな」コネクタを扱うセクションがあるようです。
ベストアンサー1
X ()
キーバインディングで実行できるものを定義できます。
たとえば、
import System.IO
debugStuff :: X ()
debugStuff = withWindowSet (\ws -> do
liftIO $ print ws
liftIO $ logToTmpFile $ show ws
)
myAppendFile :: FilePath -> String -> IO ()
myAppendFile f s = do
withFile f AppendMode $ \h -> do
hPutStrLn h s
logToTmpFile :: String -> IO ()
logToTmpFile = myAppendFile "/tmp/xmonad.log" . (++ "\n")
debugStuff
キーバインディングにバインドされます。