
Hi all, for anyone interested, that's how I use LayoutChoice with a prompt to select a layout algorithm by name. --8<---------------cut here---------------start------------->8--- myNamedLayouts :: [(String, Layout Window)] myNamedLayouts = [ ("tiled", tiled) , ("mirror-tiled", mirror tiled) , ("tabbed", tabbed shrinkText myTConf) , ("two-pane-combo" , simpleStacking $ combo (twoPane delta (1%2)) [(full,1) ,(tabbed shrinkText defaultTConf, 1)]) ] where -- default tiling algorithm partitions the screen into two panes tiled = tall nmaster delta ratio -- The default number of windows in the master pane nmaster = 1 -- Default proportion of screen occupied by master pane ratio = 1%2 -- Percent of screen to increment by when resizing panes delta = 2%100 -- the tabbed configuration to use for the tabbed layout myTConf = defaultTConf { tabSize = 15 , fontName = "-misc-fixed-medium-r-*-*-13-*-*-*-*-*-*-*" } data LayoutPrompt = LayoutPrompt instance XPrompt LayoutPrompt where showXPrompt LayoutPrompt = "Layout: " layoutPrompt :: XPConfig -> X () layoutPrompt c = mkXPrompt LayoutPrompt c (mkComplFunFromList (map fst myNamedLayouts)) (sendMessage . JumpToLayout) defaultLayouts :: [Layout Window] defaultLayouts = [ layoutChoice myNamedLayouts ] --8<---------------cut here---------------end--------------->8--- I don't bind any keys to cycle to the layouts anymore, but only the prompt. --8<---------------cut here---------------start------------->8--- keys = M.fromList $ -- launching and killing programs [ ... ... , ((modMask, xK_space ), layoutPrompt myXPConfig) ... ] --8<---------------cut here---------------end--------------->8--- Bye, Tassilo