aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DwmPromote.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/DwmPromote.hs b/DwmPromote.hs
index e2f64a0..b3434f6 100644
--- a/DwmPromote.hs
+++ b/DwmPromote.hs
@@ -33,13 +33,13 @@ import qualified Data.Map as M
dwmpromote :: X ()
dwmpromote = windows promote
-promote :: (Integral i, Ord a) => StackSet i j a -> StackSet i j a
+promote :: (Integral i, Integral j, Ord a) => StackSet i j a -> StackSet i j a
promote w = maybe w id $ do
a <- peek w -- fail if null
stack <- index (current w) w
let newstack = swap a (next stack a) stack
- return $ w { stacks = M.adjust (\(f,_) -> (f, newstack)) (current w) (stacks w),
- focus = M.insert (current w) (head newstack) (focus w) }
+ return . raiseFocus (head newstack) $
+ w { stacks = M.adjust (\(f,_) -> (f, newstack)) (current w) (stacks w) }
where
next s a | head s /= a = head s -- focused is not master
| length s > 1 = s !! 1