Xmonad
如何調試 XMonad.Layout.NoBorders.smartBorders 不起作用?
由於重置我的 xorg.conf 以使用第二個監視器,
XMonad.Layout.NoBorders.smartBorders
不再起作用:即使在任一監視器上只打開一個視窗,並且沒有停靠,主視窗仍然有邊框。可能有人知道如何進行調試嗎?例如通過將 XMonad 堆棧集轉儲到標準輸出?謝謝你。
編輯:或者,假設 smartBorders 的實現不正確或與其他 layoutHooks 有奇怪的互動,或者我犯了錯誤,是否有一種快速簡便的方法來編寫一個檢查 XMonad 堆棧集的 layoutHook,檢查是否
length the_current_stack
(目前螢幕中的視窗)為 1,然後將佈局動態切換為全屏(如果打開新視窗,反之亦然)?編輯:
noBorders
似乎工作。其他模組如smartBorder
標誌XMonad.Layout.Spacing.smartBorder
在多屏模式下工作沒有問題。上面的程式碼底部似乎有一個部分涉及“歧義”組合器。
您可以定義一個
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
到鍵綁定。