From 61c654615dc4cf624ecd7b9454c85833ee9e618d Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Tue, 10 Apr 2007 08:47:14 +0200 Subject: Move workspace fetching logic from Config.hs to Operations.hs darcs-hash:20070410064714-a5988-e9b1fac201a546d1722db41213efc81223007e43.gz --- Config.hs | 2 +- Operations.hs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Config.hs b/Config.hs index be28d1f..9b2d2f5 100644 --- a/Config.hs +++ b/Config.hs @@ -136,7 +136,7 @@ keys = M.fromList $ -- Keybindings to each screen : -- mod-wer (underneath 123) switches to physical/Xinerama screens 1 2 and 3 ++ - [((m .|. modMask, key), gets workspace >>= f . (+1) . fromMaybe 0 . W.workspace sc) + [((m .|. modMask, key), screenWorkspace sc >>= f) | (key, sc) <- zip [xK_s, xK_d, xK_f] [0..] , (f, m) <- [(view, 0), (tag, shiftMask)]] diff --git a/Operations.hs b/Operations.hs index 86d6da1..01585e4 100644 --- a/Operations.hs +++ b/Operations.hs @@ -238,6 +238,10 @@ view o = do setTopFocus where n = o-1 +-- | 'screenWorkspace sc' returns the workspace number viewed by 'sc'. +screenWorkspace :: Int -> X Int +screenWorkspace sc = fmap (succ . fromMaybe 0 . W.workspace sc) (gets workspace) + -- | True if window is under management by us isClient :: Window -> X Bool isClient w = liftM (W.member w) (gets workspace) -- cgit v1.2.3