Add promote

This commit is contained in:
Spencer Janssen
2007-03-22 22:15:47 +00:00
parent f98c9f8902
commit a05115bb72

View File

@@ -169,5 +169,11 @@ raiseFocus k w = case M.lookup k (cache w) of
Nothing -> w Nothing -> w
Just i -> w { focus = M.insert i k (focus w) } Just i -> w { focus = M.insert i k (focus w) }
-- | Move a window to the top of its workspace.
promote :: Ord a => a -> StackSet a -> StackSet a
promote k w = case M.lookup k (cache w) of
Nothing -> w
Just i -> w { stacks = M.adjust (\ks -> k : filter (/= k) ks) i (stacks w) }
elemAfter :: Eq a => a -> [a] -> Maybe a elemAfter :: Eq a => a -> [a] -> Maybe a
elemAfter w ws = listToMaybe . filter (/= w) . dropWhile (/= w) $ ws ++ ws elemAfter w ws = listToMaybe . filter (/= w) . dropWhile (/= w) $ ws ++ ws