From 01a381911a2ce989c9e9e5ff470ff67f16a4a4f7 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 3 Sep 2011 13:43:11 +0200 Subject: Adjusted EwmhDesktops module --- lib/DynamicPerScreenWorkspaces.hs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lib/DynamicPerScreenWorkspaces.hs') diff --git a/lib/DynamicPerScreenWorkspaces.hs b/lib/DynamicPerScreenWorkspaces.hs index 263174d..66bbf11 100644 --- a/lib/DynamicPerScreenWorkspaces.hs +++ b/lib/DynamicPerScreenWorkspaces.hs @@ -6,6 +6,7 @@ module DynamicPerScreenWorkspaces ( screenWorkspaceStorage , dynamicRescreenHook , create , cleanup + , focusWindow , view , viewOn , viewOnCurrent @@ -128,6 +129,15 @@ create conf i = do cleanup :: X () cleanup = windows cleanup' +focusWindow :: DynamicWorkspaceConfig -> Window -> X () +focusWindow conf w = do + wset <- gets windowset + let mws = W.findTag w wset + whenJust mws $ \ws -> do + let i = head $ filter ((== ws) . workspaceTag conf) [0..] + sid <- workspaceScreen conf i + windows' $ liftM (cleanup' . W.focusWindow w) . viewOn' conf sid i + view :: DynamicWorkspaceConfig -> Int -> X () view conf i = do sid <- workspaceScreen conf i -- cgit v1.2.3