diff --git a/DwmPromote.hs b/DwmPromote.hs index 7792fdd9..68487cec 100644 --- a/DwmPromote.hs +++ b/DwmPromote.hs @@ -37,8 +37,8 @@ promote :: (Integral i, Ord a) => StackSet i j a -> StackSet i j a promote w = maybe w id $ do a <- peek w -- fail if null let stack = index (current w) w - let newstack = swap a (next stack a) stack - return $ w { stacks = M.insert (current w) newstack (stacks w), + 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) } where next s a | head s /= a = head s -- focused is not master