IM layout only for the first desktop

This commit is contained in:
nojhan 2012-06-22 09:34:14 +02:00
commit 2da930b040

View file

@ -17,6 +17,7 @@ import XMonad.Layout.Combo
import XMonad.Layout.Grid import XMonad.Layout.Grid
import XMonad.Layout.IM import XMonad.Layout.IM
import Data.Ratio ((%)) import Data.Ratio ((%))
import XMonad.Layout.PerWorkspace
import qualified XMonad.Actions.FlexibleManipulate as Flex import qualified XMonad.Actions.FlexibleManipulate as Flex
import qualified XMonad.StackSet as W import qualified XMonad.StackSet as W
@ -29,6 +30,21 @@ myTerminal :: String
myTerminal = "xterm" myTerminal = "xterm"
myScratchPad = scratchpadSpawnActionTerminal myTerminal myScratchPad = scratchpadSpawnActionTerminal myTerminal
myDefaultLayoutHook = windowNavigation $ desktopLayoutModifiers $
-- fullscreen with tabs
simpleTabbedAlways
-- Two panes, each one with its own tabs
||| combineTwo (TwoPane 0.03 0.5) simpleTabbed simpleTabbed
-- 2/3 of the screen for a master window, other ones on the right
||| ResizableTall 1 (3/100) (2/3) []
-- buddy lists on a small vertical pane at right,
-- master windows on top of the remaining space, other ones below
myIMLayoutHook = windowNavigation $ desktopLayoutModifiers $
withIM (10/100) (Or (Or (Role "buddy_list") (Role "contact_list")) (ClassName "gimp-toolbox")) (Mirror(ResizableTall 1 (3/100) (3/4) []))
myLayoutHook = onWorkspace "1" myIMLayoutHook $ myDefaultLayoutHook
main = xmonad $ gnomeConfig main = xmonad $ gnomeConfig
{ {
terminal = myTerminal terminal = myTerminal
@ -42,20 +58,9 @@ main = xmonad $ gnomeConfig
-- add a fullscreen tabbed layout that does not avoid covering -- add a fullscreen tabbed layout that does not avoid covering
-- up desktop panels before the desktop layouts -- up desktop panels before the desktop layouts
-- desktopLayoutModifiers still allow toggling panel visibility -- desktopLayoutModifiers still allow toggling panel visibility
, layoutHook = windowNavigation $ desktopLayoutModifiers $ , layoutHook = myLayoutHook
-- fullscreen with tabs
simpleTabbedAlways
-- Two panes, each one with its own tabs
||| combineTwo (TwoPane 0.03 0.5) simpleTabbed simpleTabbed
-- 2/3 of the screen for a master window, other ones on the right
||| ResizableTall 1 (3/100) (2/3) []
-- buddy lists on a small vertical pane at right,
-- master windows on top of the remaining space, other ones below
-- ||| withIM (10/100) (Or (Role "buddy_list") (Role "contact_list")) (Mirror( ResizableTall 1 (3/100) (2/3) [] ))
-- ||| withIM (10/100) (Or (Or (Role "buddy_list") (Role "contact_list")) (ClassName "gimp-toolbox")) (combineTwo (Mirror(TwoPane 0.03 0.8)) simpleTabbedAlways Grid)
||| withIM (10/100) (Or (Or (Role "buddy_list") (Role "contact_list")) (ClassName "gimp-toolbox")) (Mirror(ResizableTall 1 (3/100) (3/4) []))
} }
-- Simple notation ala emacs -- Simple notation ala emacs
`removeKeysP` `removeKeysP`
[ [
("M-<Space>") ("M-<Space>")