mirror of
https://github.com/xmonad/xmonad.git
synced 2025-07-31 20:21:52 -07:00
focusUp/Down are the same, in reversed order
This commit is contained in:
15
StackSet.hs
15
StackSet.hs
@@ -271,13 +271,12 @@ index = with [] integrate
|
|||||||
-- the current stack.
|
-- the current stack.
|
||||||
--
|
--
|
||||||
focusUp, focusDown, swapUp, swapDown :: StackSet i a s -> StackSet i a s
|
focusUp, focusDown, swapUp, swapDown :: StackSet i a s -> StackSet i a s
|
||||||
focusUp = modify Empty $ \c -> case c of
|
focusUp = modify Empty focusUp'
|
||||||
Node t (l:ls) rs -> Node l ls (t:rs)
|
|
||||||
Node t [] rs -> Node x xs [] where (x:xs) = reverse (t:rs)
|
|
||||||
|
|
||||||
focusDown = modify Empty $ \c -> case c of
|
focusUp' (Node t (l:ls) rs) = Node l ls (t:rs)
|
||||||
Node t ls (r:rs) -> Node r (t:ls) rs
|
focusUp' (Node t [] rs) = Node x xs [] where (x:xs) = reverse (t:rs)
|
||||||
Node t ls [] -> Node x [] xs where (x:xs) = reverse (t:ls)
|
|
||||||
|
focusDown = modify Empty (reverseStack . focusUp' . reverseStack)
|
||||||
|
|
||||||
swapUp = modify Empty $ \c -> case c of
|
swapUp = modify Empty $ \c -> case c of
|
||||||
Node _ [] [] -> c
|
Node _ [] [] -> c
|
||||||
@@ -289,6 +288,10 @@ swapDown = modify Empty $ \c -> case c of
|
|||||||
Node t ls (r:rs) -> Node t (r:ls) rs
|
Node t ls (r:rs) -> Node t (r:ls) rs
|
||||||
Node t ls [] -> Node t [] (reverse ls)
|
Node t ls [] -> Node t [] (reverse ls)
|
||||||
|
|
||||||
|
-- reverse a stack: up becomes down and down becomes up.
|
||||||
|
reverseStack (Node t ls rs) = Node t rs ls
|
||||||
|
reverseStack x = x
|
||||||
|
|
||||||
--
|
--
|
||||||
-- | /O(1) on current window, O(n) in general/. Focus the window 'w',
|
-- | /O(1) on current window, O(n) in general/. Focus the window 'w',
|
||||||
-- and set its workspace as current.
|
-- and set its workspace as current.
|
||||||
|
Reference in New Issue
Block a user