From 4866f2e367dfcf22a9591231ba40948826a1b438 Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Thu, 1 Nov 2007 21:10:59 +0100 Subject: Hierarchify darcs-hash:20071101201059-a5988-fc1f1262bec1b69e13ba18ae7cefeafc8c4471d4.gz --- FindEmptyWorkspace.hs | 72 --------------------------------------------------- 1 file changed, 72 deletions(-) delete mode 100644 FindEmptyWorkspace.hs (limited to 'FindEmptyWorkspace.hs') 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 -- cgit v1.2.3