From bac5b8d633b9a4860c443284592a4ac281794348 Mon Sep 17 00:00:00 2001 From: Ilya V. Portnov Date: Fri, 29 Apr 2011 15:02:38 +0600 Subject: [PATCH] Use dynamic workspaces. --- lib/AppGroups.hs | 5 ++++- lib/CommonFunctions.hs | 6 ++++++ lib/GroupsSetup.hs | 2 +- lib/KeyBindings.hs | 4 +++- lib/Layouts.hs | 3 --- lib/Themes.hs | 2 +- 6 files changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/AppGroups.hs b/lib/AppGroups.hs index 021a3ee..7b4988c 100644 --- a/lib/AppGroups.hs +++ b/lib/AppGroups.hs @@ -14,6 +14,7 @@ import XMonad import qualified XMonad.StackSet as W import XMonad.Actions.GridSelect +import XMonad.Actions.DynamicWorkspaces import XMonad.Layout.Minimize import XMonad.Util.WindowProperties import XMonad.Util.NamedWindows @@ -96,7 +97,9 @@ doFullscreen :: ManageHook doFullscreen = fromWindowOp fullscreen moveTo :: WorkspaceId -> ManageHook -moveTo wksp = doF $ W.shift wksp +moveTo wksp = do + fromX $ addWorkspace wksp + doF $ W.shift wksp jumpTo :: WorkspaceId -> X () jumpTo wksp = windows $ W.greedyView wksp diff --git a/lib/CommonFunctions.hs b/lib/CommonFunctions.hs index 3408d6c..d85b1e5 100644 --- a/lib/CommonFunctions.hs +++ b/lib/CommonFunctions.hs @@ -17,6 +17,7 @@ import XMonad.Prompt import XMonad.Prompt.Window import XMonad.Prompt.Input +import XMonad.Actions.DynamicWorkspaces import XMonad.Actions.GridSelect import Themes @@ -183,3 +184,8 @@ textEditors = do Just "gvim" -> vimsessions Just editor -> spawn editor +trashWindow = do + addWorkspace "trash" + moveToWorkspace "trash" + + diff --git a/lib/GroupsSetup.hs b/lib/GroupsSetup.hs index 816859c..6f860c6 100644 --- a/lib/GroupsSetup.hs +++ b/lib/GroupsSetup.hs @@ -12,7 +12,7 @@ defaultFM = "konqueror --profile filemanagement" myApps = [ "firefox" ::: [C "Epiphany-browser", C "Kontact", - C "Liferea", C "Firefox", C "Opera"] :-> "inet" `On` "M1-!" `Named` "internet", + C "Liferea", C "Firefox", C "Opera", C "Thunderbird"] :-> "inet" `On` "M1-!" `Named` "internet", Group [C "Inkscape", C "Eog", C "Gwenview", C "Dia"] :-> "apps" `On` "M1-/" `Named` "graphics", Group [regex "Gimp"] :-> "dashboard" `On` "M1-g" `Named` "gimp", Group [C "F-spot",C "Digikam"] :-> "apps" `On` "M1-d" `Named` "photo", diff --git a/lib/KeyBindings.hs b/lib/KeyBindings.hs index 2a7bcb9..4508307 100644 --- a/lib/KeyBindings.hs +++ b/lib/KeyBindings.hs @@ -37,6 +37,8 @@ import Layouts import AppGroups import GroupsSetup +workspaceOrder = ["inet","text","files","im","term"] + ------------------------------------------------------------------------ -- Key bindings -- @@ -53,7 +55,7 @@ myKeys conf@(XConfig {XMonad.modMask = modMask}) = (M.fromList $ -- To jump to specific desktop [((m .|. modMask, k), f i) - | (i, k) <- zip (XMonad.workspaces conf) [xK_F1..] + | (i, k) <- zip workspaceOrder [xK_F1..] , (f, m) <- [(gotoWorkspace, 0), (moveToWorkspace, shiftMask)]] ) `M.union` planeKeys modMask (Lines 1) Circular diff --git a/lib/Layouts.hs b/lib/Layouts.hs index fc3f39a..92357af 100644 --- a/lib/Layouts.hs +++ b/lib/Layouts.hs @@ -110,6 +110,3 @@ twoTabs = do sendMessage $ Tab.pull Nav.R sendMessage $ IncMasterN (-1) -trashWindow = windows $ W.shift "trash" - - diff --git a/lib/Themes.hs b/lib/Themes.hs index 7e527f5..5f9fba8 100644 --- a/lib/Themes.hs +++ b/lib/Themes.hs @@ -15,7 +15,7 @@ myGSConfig = defaultGSConfig { ----------------------------------------------------------------------- -- Some general settings -myWorkspaces = ["inet","text","files","im","term","docs", "apps","rdx","trash","dashboard"] +myWorkspaces = ["main"] myFocusedBorderColor = "#97ACC1" myBorderWidth :: Dimension -- 1.7.2.3