diff --git a/lib/KeyBindings.hs b/lib/KeyBindings.hs
index e79b82a..8b31b5f 100644
--- a/lib/KeyBindings.hs
+++ b/lib/KeyBindings.hs
@@ -19,13 +19,15 @@ import XMonad.Actions.DwmPromote
import XMonad.Actions.GridSelect
import XMonad.Actions.FindEmptyWorkspace
import XMonad.Actions.GroupNavigation
+import XMonad.Actions.PerWorkspaceKeys
import XMonad.Layout.MultiToggle
import XMonad.Layout.MultiToggle.Instances
import XMonad.Layout.Maximize
import XMonad.Layout.Minimize
-import qualified XMonad.Layout.TabbedModifier as Tab
-import qualified XMonad.Layout.WindowNavigation as Nav
+import XMonad.Layout.Groups.Examples
+-- import qualified XMonad.Layout.TabbedModifier as Tab
+-- import qualified XMonad.Layout.WindowNavigation as Nav
import XMonad.Prompt
import XMonad.Prompt.Window
@@ -91,7 +93,7 @@ addKeys = [("M-s n", spawn "screenslide start"),
("M-o", chooseLayout "onebig"),
("M-w", chooseLayout "mgrid"),
("M-u", chooseLayout "autogrid"),
- ("M-S-u", twoTabs),
+-- ("M-S-u", twoTabs),
("M-<Up>", withFocused (sendMessage . maximizeRestore)),
("M-<Down>", withFocused minimizeWindow),
("M-<Right>", withFocused (sendMessage . RestoreMinimizedWin)),
@@ -117,8 +119,8 @@ addKeys = [("M-s n", spawn "screenslide start"),
-- Move focus to the next window
("M1-<Tab>", windows W.focusDown),
- ("M-j", windows W.focusDown),
- ("M-k", windows W.focusUp ),
+ ("M-j", bindOn [("im", focusUp), ("", windows W.focusDown)]),
+ ("M-k", bindOn [("im", focusDown), ("", windows W.focusUp)]),
-- ("M-<Left>", sendMessage $ Nav.Go Nav.L ),
-- ("M-<Right>", sendMessage $ Nav.Go Nav.R ),
@@ -137,12 +139,12 @@ addKeys = [("M-s n", spawn "screenslide start"),
("M-S-k", windows W.swapUp ),
-- Tab/Untab
- ("M-M1-j", sendMessage $ Tab.pull Nav.L),
- ("M-M1-l", sendMessage $ Tab.pull Nav.R),
- ("M-M1-k", sendMessage $ Tab.pull Nav.U),
- ("M-M1-h", sendMessage $ Tab.pull Nav.D),
+ ("M-M1-j", moveToGroupDown True),
+ ("M-M1-l", moveToGroupUp True),
+ -- ("M-M1-k", sendMessage $ Tab.pull Nav.U),
+ -- ("M-M1-h", sendMessage $ Tab.pull Nav.D),
- ("M-M1-u", withFocused (sendMessage . Tab.UnTab)),
+ ("M-M1-u", splitGroup),
-- Shrink/expand the master area
("M-e", sendMessage Shrink),
diff --git a/lib/Layouts.hs b/lib/Layouts.hs
index b48e418..6ab9ebd 100644
--- a/lib/Layouts.hs
+++ b/lib/Layouts.hs
@@ -14,6 +14,7 @@ import XMonad.Layout.Column
import XMonad.Layout.Decoration
import XMonad.Layout.PerWorkspace
import XMonad.Layout.LayoutCombinators
+import XMonad.Layout.Groups
import XMonad.Layout.Named
import XMonad.Layout.GridVariants
import XMonad.Layout.IM
@@ -35,8 +36,8 @@ import XMonad.Layout.Tabbed
import XMonad.Layout.TrackFloating
import XMonad.Layout.Maximize
import XMonad.Layout.Minimize
+import XMonad.Layout.Groups
-import qualified XMonad.Layout.TabbedModifier as Tab
import qualified XMonad.Layout.WindowNavigation as Nav
import CommonFunctions
@@ -49,6 +50,8 @@ tWithIM = withIM (1%6) ((Role "buddy_list") `Or` (Role "MainWindow") `Or` (Role
isGfxPanel = (Role "gimp-toolbox") `Or` (Role "Brush selector") `Or` (Role "toolbox_window") `Or` (Role "Layers")
+imlayout = group (tabbed shrinkText deco) (Grid 2)
+
grid = named "grid" $ Grid (2)
vgrid = Grid (1/2)
tiled = Tall 1 (1/100) (1/2)
@@ -65,7 +68,8 @@ autogrid2 = autoMaster 2 (1/100) grid
books = named "books" (Tall 1 (1/100) (2/3))
-- rowtile = Mirror hortile
-- mgrid = centerMaster grid
-forim = named "im" (tWithIM (minimax grid ||| minimax autogrid2 ||| zgrid ||| Full))
+-- forim = named "im" (tWithIM (minimax grid ||| minimax autogrid2 ||| zgrid ||| Full))
+forim = named "im" $ tWithIM imlayout
column = Column 1.8
forgimp = named "gimp" $ withButtons $ combineTwoP (TwoPane 0.03 0.75) column (reflectVert $ Column 0.4) $ Not isGfxPanel
onebig = named "onebig" $ (OneBig (3/4) (3/4))
@@ -94,9 +98,9 @@ draggable layout = windowSwitcherDecorationWithButtons shrinkText decoB (draggin
myLayout = trackFloating $
smartBorders $
- Nav.configurableNavigation (Nav.navigateBrightness 0.0) $
+ -- Nav.configurableNavigation (Nav.navigateBrightness 0.0) $
avoidStruts $
- Tab.modify shrinkText deco $
+ -- Tab.modify shrinkText deco $
onWorkspace "inet" (minimax full ||| minimax autogrid ||| onebig) $
onWorkspace "text" (minimax full ||| minimax autogrid2 ||| minimax dwmtile ||| minimax mirrored ||| books ||| autogrid ||| onebig ) $
onWorkspace "files" (minimax full ||| minimax dwmtile ||| autogrid) $
@@ -105,9 +109,9 @@ myLayout = trackFloating $
onWorkspace "gimp" (forgimp ||| full ||| grid) $
onWorkspace "trash" (full ||| autogrid ||| grid) (minimax mirrored ||| full)
-twoTabs = do
- chooseLayout "autogrid"
- sendMessage $ IncMasterN 1
- sendMessage $ Tab.pull Nav.R
- sendMessage $ IncMasterN (-1)
-
+-- twoTabs = do
+-- chooseLayout "autogrid"
+-- sendMessage $ IncMasterN 1
+-- sendMessage $ Tab.pull Nav.R
+-- sendMessage $ IncMasterN (-1)
+--
diff --git a/xmonad.hs b/xmonad.hs
index 183df16..15cc305 100644
--- a/xmonad.hs
+++ b/xmonad.hs
@@ -1,5 +1,3 @@
-import Data.Monoid (mappend)
-
import XMonad
import XMonad.Util.EZConfig (additionalKeysP)