]> code.delx.au - dotfiles/blobdiff - .xmonad/xmonad.hs
xmonad: remove Firefox special case for ff29+
[dotfiles] / .xmonad / xmonad.hs
index 328442243ab71e1dd82035ea04fd935648574190..898cb493af3a9450616d1b79fc221eba8257821c 100644 (file)
@@ -10,6 +10,7 @@ import XMonad.Hooks.SetWMName
 import XMonad.Layout.IM
 import XMonad.Layout.LayoutHints
 import qualified XMonad.Layout.Magnifier as Mag
+import XMonad.Layout.Master
 import XMonad.Layout.NoBorders
 import XMonad.Layout.NoFrillsDecoration
 import XMonad.Layout.PerWorkspace
@@ -17,7 +18,6 @@ import XMonad.Layout.Renamed
 import XMonad.Layout.Reflect
 import XMonad.Layout.Tabbed
 import XMonad.Layout.ThreeColumns
-import XMonad.Layout.TwoPane
 import XMonad.Util.Run(spawnPipe)
 import XMonad.Util.WindowProperties(getProp32s)
 import qualified Data.Map as M
@@ -26,13 +26,10 @@ import qualified XMonad.StackSet as W
 
 myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
        [
-               ((modm .|. shiftMask, xK_q), spawn "gnome-session-quit"),
-               ((modm .|. shiftMask, xK_h), spawn "gnome-session-quit --power-off"),
---             ((modm .|. shiftMask, xK_q), spawn "gnome-session-save --logout-dialog"),
---             ((modm .|. shiftMask, xK_h), spawn "gnome-session-save --shutdown-dialog"),
-               ((modm .|. shiftMask, xK_l), spawn "gnome-screensaver-command --lock"),
+               ((modm .|. shiftMask, xK_h), spawn "xfce4-session-logout"),
+               ((modm .|. shiftMask, xK_l), spawn "xscreensaver-command --lock"),
 
-               ((modm, xK_n), spawn "gnome-terminal"),
+               ((modm, xK_n), spawn "xfce4-terminal"),
                ((modm, xK_i), spawn "firefox"),
 
                ((modm .|. shiftMask, xK_c ), kill),
@@ -81,12 +78,16 @@ isTransient = ask >>= \w -> liftX $ do
                Just [_] -> True
                _ -> False
 
+isSkipTaskBar = isInProperty "_NET_WM_STATE" "_NET_WM_STATE_SKIP_TASKBAR"
+
+
 myManageHook =
        manageDocks <+>
        composeOne [
-               (className =? "Firefox" <&&> resource =? "Popup") -?> (ask >>= doF . W.sink),
                (className =? "Firefox" <&&> resource =? "Navigator" <&&> currentWs =? "1") -?> (doShift "2"),
                (className =? "Kupfer.py" <&&> resource =? "kupfer.py") -?> doFloat,
+               (className =? "Xfce4-appfinder" <&&> resource =? "xfce4-appfinder") -?> doFloatAt 0.1 0.1,
+               (isSkipTaskBar -?> doFloat),
                (isDialog -?> doFloatAt 0.1 0.1),
                (isTransient -?> doFloatAt 0.1 0.1),
                (isFullscreen -?> doFullFloat),
@@ -98,7 +99,8 @@ myWorkspaces = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
 
 myPP = xmobarPP
        {
-               ppTitle = xmobarColor "green" ""
+               ppCurrent = xmobarColor "#A01010" "" . wrap "[" "]",
+               ppTitle = xmobarColor "#10A010" ""
        }
 
 myLogHook h1 h2 =
@@ -112,6 +114,11 @@ myStartupHook =
 
 goldenRatio = (toRational (2/(1+sqrt(5)::Double)))
 
+myTitleTheme = defaultTheme {
+               fontName = "xft:sans-serif:size=10",
+               decoHeight = 22
+       }
+
 createLayout name layout =
        renamed [Replace name] $
        layoutHints $
@@ -132,7 +139,7 @@ myTiledLayout = createLayout "Tall" $
 
 myTabbedLayout = createLayout "Tab" $
        avoidStruts $
-       simpleTabbed
+       tabbed shrinkText myTitleTheme
 
 myThreeColLayout = createLayout "ThreeCol" $
        avoidStruts $
@@ -143,17 +150,18 @@ myThreeColLayout = createLayout "ThreeCol" $
                masterRatio = 4/10
                numMaster = 1
 
-myTwoPaneLayout = createLayout "TwoPane" $
+myMasterTabbedLayout = createLayout "MTab" $
        avoidStruts $
        Mag.magnifierOff $
-       TwoPane resizeDelta masterRatio
+       mastered resizeDelta masterRatio $
+       tabbed shrinkText myTitleTheme
        where
                resizeDelta = 3/100
                masterRatio = goldenRatio
 
 myImLayout = createLayout "IM" $
        avoidStruts $
-       noFrillsDeco shrinkText defaultTheme $
+       noFrillsDeco shrinkText myTitleTheme $
        withIM rosterRatio roster $
        myTiledLayout
 ---    myThreeColLayout -- use this on wider screens
@@ -167,7 +175,7 @@ myGimpLayout = createLayout "Gimp" $
        reflectHoriz $
        withIM (1/6) (Role "gimp-dock") $
        reflectHoriz $
-       simpleTabbed
+       tabbed shrinkText myTitleTheme
 
 
 -- This was the easiest way I found to avoid a compile error when I have
@@ -177,7 +185,7 @@ referenceAllLayoutsToAvoidErrors =
        myTiledLayout |||
        myTabbedLayout |||
        myThreeColLayout |||
-       myTwoPaneLayout |||
+       myMasterTabbedLayout |||
        myImLayout |||
        myGimpLayout
 
@@ -185,9 +193,9 @@ referenceAllLayoutsToAvoidErrors =
 myLayout =
        (
                onWorkspace "1" (myImLayout) $
-               onWorkspace "2" (myTabbedLayout ||| myFullLayout) $
-               onWorkspace "7" (myTiledLayout ||| myTabbedLayout ||| myGimpLayout) $
-               (myTiledLayout ||| myTabbedLayout)
+               onWorkspace "2" (myTabbedLayout ||| myMasterTabbedLayout) $
+               onWorkspace "9" (myMasterTabbedLayout ||| myTabbedLayout ||| myTiledLayout ||| myFullLayout ||| myGimpLayout) $
+               (myMasterTabbedLayout ||| myTabbedLayout ||| myTiledLayout)
        )
 
 main = do