[英]Xmonad: How do I reset the number of windows in the master pane?
有时候,当我在Xmonad中使用mod-L
或mod-H
,我的窗口无法调整大小。 我相信这是由于我不小心更改了主窗格中的窗口数而导致的。 有时我很幸运地碰到了适量的mod-,
或mod-.
回到我可以调整大小的位置,但并不经常。
如何将窗格重置为其默认值,即Xmonad在启动时提供的默认值? 我的xmonad.hs:
import XMonad
import qualified XMonad.StackSet as W
import qualified Data.Map as M
import System.Exit
import Graphics.X11.Xlib
import IO (Handle, hPutStrLn)
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.SetWMName
import XMonad.Layout.IM
import XMonad.Layout.Reflect
import XMonad.Layout.NoBorders
import XMonad.Layout.ResizableTile
import XMonad.Layout.PerWorkspace
import XMonad.Layout.LayoutHints
import XMonad.Layout.LayoutCombinators hiding ((|||))
import XMonad.Layout.LayoutHints
import XMonad.Layout.NoBorders
import XMonad.Layout.ComboP
import XMonad.Layout.PerWorkspace
import XMonad.Layout.ResizableTile
import XMonad.Layout.Tabbed
import XMonad.Layout.TwoPane
import XMonad.Util.Run (spawnPipe)
import qualified XMonad.StackSet as W
import XMonad.Hooks.ManageHelpers
import XMonad.Layout.NoBorders
main = do
h <- spawnPipe "/usr/bin/xmobar"
xmonad defaultConfig
{ workspaces = workspaces'
, borderWidth = borderWidth'
, logHook = logHook' h
, terminal = terminal'
, modMask = mod4Mask
, layoutHook = layoutHook'
, manageHook = manageHook'
, startupHook = setWMName "LG3D"
}
customPP :: PP
customPP = defaultPP { ppCurrent = xmobarColor "#AFAF87" "" . wrap "<" ">"
, ppTitle = shorten 80
, ppSep = "<fc=#AFAF87> | </fc>"
, ppHiddenNoWindows = xmobarColor "#AFAF87" ""
, ppUrgent = xmobarColor "#FFFFAF" "" . wrap "[" "]"
}
logHook' :: Handle -> X ()
logHook' h = dynamicLogWithPP $ customPP { ppOutput = hPutStrLn h }
manageHook' :: ManageHook
manageHook' = composeAll [
isFullscreen --> doFullFloat
]
layoutHook' = customLayout
borderWidth' :: Dimension
borderWidth' = 1
normalBorderColor', focusedBorderColor' :: String
normalBorderColor' = "#333333"
focusedBorderColor' = "#AFAF87"
workspaces' :: [WorkspaceId]
workspaces' = ["1", "2", "3", "4", "5", "6"]
customLayout = avoidStruts $ layoutHints $ smartBorders (Full ||| resizableTile ||| Mirror resizableTile)
where
resizableTile = ResizableTall nmaster delta ratio []
nmaster = 1
ratio = toRational (2/(1+sqrt(5)::Double))
delta = 3/100
terminal' :: String
terminal' = "urxvt"
我很少编辑该文件,以至于我忘记了Xmonad API的几乎所有内容,这全都源于繁琐的手册页和haddock编译。 Xmonad API是否有很好的文档资源,而不是严格的参考资料?
默认情况下,mod + shift + space会重置您的布局。 如果您不喜欢removeKeysP
。的行为,则可以使用removeKeysP
从配置中删除它们:
import XMonad.Util.EZConfig -- add this line near the top, to the other imports
main = do
h <- spawnPipe "/usr/bin/xmobar" -- no change here
xmonad $ defaultConfig -- note the extra ($) here
{ workspaces = workspaces'
-- etc.
} `removeKeysP`
[ "M-,", "M-." ]
我不知道有比xmonad.org的“文档”选项卡上提供的文档更好的文档来源。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.