]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
xmonad.hs: Start Gimp to workspace "5" and use a special layout.
authorSimon Ruderich <simon@ruderich.org>
Sun, 19 Jun 2011 13:36:04 +0000 (15:36 +0200)
committerSimon Ruderich <simon@ruderich.org>
Sun, 19 Jun 2011 13:36:04 +0000 (15:36 +0200)
xmonad.hs

index 467b351f26fc319b68e698ec5935660d2a8e4822..fcc6461e8f55c2c83bdbfd803799c7f6333c280c 100644 (file)
--- a/xmonad.hs
+++ b/xmonad.hs
@@ -27,6 +27,9 @@ import XMonad.Layout.Named
 import XMonad.Layout.LayoutCombinators
 -- Necessary for Limit layout.
 import XMonad.Layout.TwoPane
+-- Necessary for the Gimp layout.
+import XMonad.Layout.PerWorkspace
+import XMonad.Layout.IM
 
 
 -- Prevent new windows from spawning in the master pane. Taken from
@@ -59,12 +62,18 @@ avoidMaster = W.modify' $ \c -> case c of
 --
 -- The limit layout displays only one window in the lower pane, thanks to to
 -- Qantourisc (2010-06-12 15:15 CEST) for the hint to use TwoPane.
+--
+-- onWorkspace is used for a special layout for Gimp, thanks to Nathan Howell
+-- (http://nathanhowell.net/2009/03/08/xmonad-and-the-gimp/) for this layout
+-- (read on 2011-06-19).
 myLayoutHook =
+    onWorkspace "5" gimp
+    $ (
         named "Default" (smartBorders $ Mirror tiled)
         ||| named "Full" (smartBorders Full)
         ||| named "Vertical" (smartBorders tiled)
         ||| named "Limit" (smartBorders $ Mirror $ TwoPane delta ratio)
-    where
+    where
     -- Default tiling algorithm partitions the screen into two panes.
     tiled   = Tall nmaster delta ratio
     -- The default number of windows in the master pane.
@@ -73,6 +82,12 @@ myLayoutHook =
     delta   = 3/100
     -- Default proportion of screen occupied by master pane.
     ratio   = 1/2
+    -- Special layout for Gimp: toolbox left, dock right, main window in the
+    -- center.
+    gimp    = withIM (0.11) (Role "gimp-toolbox") $
+              reflectHoriz $
+              withIM (0.15) (Role "gimp-dock")
+              Full
 
 -- Don't spawn new windows in the master pane (which is at the top of the
 -- screen). Thanks to dschoepe, aavogt and especially vav in #xmonad on
@@ -90,6 +105,8 @@ myManageHook = composeOne
     , className =? "Vncviewer"          -?> doF (W.shift "3")
     -- Wine on "4".
     , className =? "Wine"               -?> doF (W.shift "4")
+    -- Gimp on "5".
+    , className =? "Gimp"               -?> doF (W.shift "5")
 
     -- Don't spawn new windows in the master pane.
     , return True -?> doF avoidMaster