diff options
author | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-11-01 21:10:59 +0100 |
---|---|---|
committer | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-11-01 21:10:59 +0100 |
commit | 4866f2e367dfcf22a9591231ba40948826a1b438 (patch) | |
tree | 7a245caee3f146826b267d773b7eaa80386a818e /FindEmptyWorkspace.hs | |
parent | 47589e1913fb9530481caedb543978a30d4323ea (diff) | |
download | XMonadContrib-4866f2e367dfcf22a9591231ba40948826a1b438.tar.gz XMonadContrib-4866f2e367dfcf22a9591231ba40948826a1b438.tar.xz XMonadContrib-4866f2e367dfcf22a9591231ba40948826a1b438.zip |
Hierarchify
darcs-hash:20071101201059-a5988-fc1f1262bec1b69e13ba18ae7cefeafc8c4471d4.gz
Diffstat (limited to 'FindEmptyWorkspace.hs')
-rw-r--r-- | FindEmptyWorkspace.hs | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/FindEmptyWorkspace.hs b/FindEmptyWorkspace.hs deleted file mode 100644 index 27b0de8..0000000 --- a/FindEmptyWorkspace.hs +++ /dev/null @@ -1,72 +0,0 @@ ------------------------------------------------------------------------------ --- | --- Module : XMonadContrib.FindEmptyWorkspace --- Copyright : (c) Miikka Koskinen 2007 --- License : BSD3-style (see LICENSE) --- --- Maintainer : arcatan@kapsi.fi --- Stability : unstable --- Portability : unportable --- --- Find an empty workspace in XMonad. --- ------------------------------------------------------------------------------ - -module XMonadContrib.FindEmptyWorkspace ( - -- * Usage - -- $usage - viewEmptyWorkspace, tagToEmptyWorkspace - ) where - -import Control.Monad.State -import Data.List -import Data.Maybe ( isNothing ) - -import XMonad -import XMonad.StackSet - -import XMonad.Operations - --- $usage --- --- To use, modify your Config.hs to: --- --- > import XMonadContrib.FindEmptyWorkspace --- --- and add a keybinding: --- --- > , ((modMask, xK_m ), viewEmptyWorkspace) --- > , ((modMask .|. shiftMask, xK_m ), tagToEmptyWorkspace) --- --- Now you can jump to an empty workspace with mod-m. Mod-shift-m will --- tag the current window to an empty workspace and view it. - --- %import XMonadContrib.FindEmptyWorkspace --- %keybind , ((modMask, xK_m ), viewEmptyWorkspace) --- %keybind , ((modMask .|. shiftMask, xK_m ), tagToEmptyWorkspace) - - --- | Find the first hidden empty workspace in a StackSet. Returns --- Nothing if all workspaces are in use. Function searches currently --- focused workspace, other visible workspaces (when in Xinerama) and --- hidden workspaces in this order. -findEmptyWorkspace :: StackSet i l a s sd -> Maybe (Workspace i l a) -findEmptyWorkspace = find (isNothing . stack) . allWorkspaces - where - allWorkspaces ss = (workspace . current) ss : - (map workspace . visible) ss ++ hidden ss - -withEmptyWorkspace :: (WorkspaceId -> X ()) -> X () -withEmptyWorkspace f = do - ws <- gets windowset - whenJust (findEmptyWorkspace ws) (f . tag) - --- | Find and view an empty workspace. Do nothing if all workspaces are --- in use. -viewEmptyWorkspace :: X () -viewEmptyWorkspace = withEmptyWorkspace (windows . view) - --- | Tag current window to an empty workspace and view it. Do nothing if --- all workspaces are in use. -tagToEmptyWorkspace :: X () -tagToEmptyWorkspace = withEmptyWorkspace $ \w -> windows $ view w . shift w |