diff options
author | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-07-08 00:38:42 +0200 |
---|---|---|
committer | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-07-08 00:38:42 +0200 |
commit | 9f826eef5b1a302c28dbdce0ffb6456b8a36a2ed (patch) | |
tree | 14e250e24c30ab30fd39607f7d0a34df6af880ca | |
parent | d3c944fe973e2e55ac7a4ff9d804e1440ce7a100 (diff) | |
download | xmonad-9f826eef5b1a302c28dbdce0ffb6456b8a36a2ed.tar.gz xmonad-9f826eef5b1a302c28dbdce0ffb6456b8a36a2ed.tar.xz xmonad-9f826eef5b1a302c28dbdce0ffb6456b8a36a2ed.zip |
Operations.screenWorkspace: return Nothing when the screen does not exist
darcs-hash:20070707223842-a5988-7cd70e25326d577a30279c976ae64bce3f70f2df.gz
Diffstat (limited to '')
-rw-r--r-- | Config.hs | 2 | ||||
-rw-r--r-- | Operations.hs | 6 |
2 files changed, 4 insertions, 4 deletions
@@ -163,7 +163,7 @@ keys = M.fromList $ -- mod-{w,e,r} @@ Switch to physical/Xinerama screens 1, 2, or 3 -- mod-shift-{w,e,r} @@ Move client to screen 1, 2, or 3 ++ - [((m .|. modMask, key), screenWorkspace sc >>= f) + [((m .|. modMask, key), screenWorkspace sc >>= flip whenJust f) | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..] , (f, m) <- [(view, 0), (shift, shiftMask)]] diff --git a/Operations.hs b/Operations.hs index 0a8bd31..68524f1 100644 --- a/Operations.hs +++ b/Operations.hs @@ -439,9 +439,9 @@ splitVerticallyBy f = (mirrorRect *** mirrorRect) . splitHorizontallyBy f . mirr ------------------------------------------------------------------------ -- Utilities --- | Return workspace visible on screen 'sc', or 0. -screenWorkspace :: ScreenId -> X WorkspaceId -screenWorkspace sc = withWindowSet $ return . fromMaybe 0 . W.lookupWorkspace sc +-- | Return workspace visible on screen 'sc', or Nothing. +screenWorkspace :: ScreenId -> X (Maybe WorkspaceId) +screenWorkspace sc = withWindowSet $ return . W.lookupWorkspace sc -- | Apply an X operation to the currently focused window, if there is one. withFocused :: (Window -> X ()) -> X () |