mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-05-19 11:30:22 -07:00
X.A.CycleWindows: Move rot{Up,Down} to X.A.RotSlaves
Reexport them instead.
This commit is contained in:
parent
8c0ca8b9fe
commit
c8c81474a2
@ -50,7 +50,6 @@ module XMonad.Actions.CycleWindows (
|
|||||||
-- $pointer
|
-- $pointer
|
||||||
|
|
||||||
-- * Generic list rotations
|
-- * Generic list rotations
|
||||||
-- $generic
|
|
||||||
rotUp, rotDown
|
rotUp, rotDown
|
||||||
) where
|
) where
|
||||||
|
|
||||||
@ -223,12 +222,3 @@ rotUnfocused' f s@(W.Stack _ [] _ ) = rotSlaves' f s -- Master h
|
|||||||
rotUnfocused' f (W.Stack t ls rs) = W.Stack t (reverse revls') rs' -- otherwise
|
rotUnfocused' f (W.Stack t ls rs) = W.Stack t (reverse revls') rs' -- otherwise
|
||||||
where (master :| revls) = NE.reverse (let l:ll = ls in l :| ll)
|
where (master :| revls) = NE.reverse (let l:ll = ls in l :| ll)
|
||||||
(revls',rs') = splitAt (length ls) (f $ master:revls ++ rs)
|
(revls',rs') = splitAt (length ls) (f $ master:revls ++ rs)
|
||||||
|
|
||||||
-- $generic
|
|
||||||
-- Generic list rotations such that @rotUp [1..4]@ is equivalent to
|
|
||||||
-- @[2,3,4,1]@ and @rotDown [1..4]@ to @[4,1,2,3]@. They both are
|
|
||||||
-- @id@ for null or singleton lists.
|
|
||||||
rotUp :: [a] -> [a]
|
|
||||||
rotUp l = drop 1 l ++ take 1 l
|
|
||||||
rotDown :: [a] -> [a]
|
|
||||||
rotDown = reverse . rotUp . reverse
|
|
||||||
|
@ -17,7 +17,11 @@
|
|||||||
module XMonad.Actions.RotSlaves (
|
module XMonad.Actions.RotSlaves (
|
||||||
-- $usage
|
-- $usage
|
||||||
rotSlaves', rotSlavesUp, rotSlavesDown,
|
rotSlaves', rotSlavesUp, rotSlavesDown,
|
||||||
rotAll', rotAllUp, rotAllDown
|
rotAll', rotAllUp, rotAllDown,
|
||||||
|
|
||||||
|
-- * Generic list rotations
|
||||||
|
-- $generic
|
||||||
|
rotUp, rotDown
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import XMonad
|
import XMonad
|
||||||
@ -44,8 +48,8 @@ import XMonad.Prelude
|
|||||||
-- | Rotate the windows in the current stack, excluding the first one
|
-- | Rotate the windows in the current stack, excluding the first one
|
||||||
-- (master).
|
-- (master).
|
||||||
rotSlavesUp,rotSlavesDown :: X ()
|
rotSlavesUp,rotSlavesDown :: X ()
|
||||||
rotSlavesUp = windows $ modify' (rotSlaves' (\l -> tail l++[head l]))
|
rotSlavesUp = windows $ modify' (rotSlaves' rotUp)
|
||||||
rotSlavesDown = windows $ modify' (rotSlaves' (\l -> last l : init l))
|
rotSlavesDown = windows $ modify' (rotSlaves' rotDown)
|
||||||
|
|
||||||
-- | The actual rotation, as a pure function on the window stack.
|
-- | The actual rotation, as a pure function on the window stack.
|
||||||
rotSlaves' :: ([a] -> [a]) -> Stack a -> Stack a
|
rotSlaves' :: ([a] -> [a]) -> Stack a -> Stack a
|
||||||
@ -57,10 +61,19 @@ rotSlaves' f s@(Stack _ ls _ ) = Stack t' (reverse revls') rs' -- otherwise
|
|||||||
|
|
||||||
-- | Rotate all the windows in the current stack.
|
-- | Rotate all the windows in the current stack.
|
||||||
rotAllUp,rotAllDown :: X ()
|
rotAllUp,rotAllDown :: X ()
|
||||||
rotAllUp = windows $ modify' (rotAll' (\l -> tail l++[head l]))
|
rotAllUp = windows $ modify' (rotAll' rotUp)
|
||||||
rotAllDown = windows $ modify' (rotAll' (\l -> last l : init l))
|
rotAllDown = windows $ modify' (rotAll' rotDown)
|
||||||
|
|
||||||
-- | The actual rotation, as a pure function on the window stack.
|
-- | The actual rotation, as a pure function on the window stack.
|
||||||
rotAll' :: ([a] -> [a]) -> Stack a -> Stack a
|
rotAll' :: ([a] -> [a]) -> Stack a -> Stack a
|
||||||
rotAll' f s = Stack r (reverse revls) rs
|
rotAll' f s = Stack r (reverse revls) rs
|
||||||
where (revls, notEmpty -> r :| rs) = splitAt (length (up s)) (f (integrate s))
|
where (revls, notEmpty -> r :| rs) = splitAt (length (up s)) (f (integrate s))
|
||||||
|
|
||||||
|
-- $generic
|
||||||
|
-- Generic list rotations such that @rotUp [1..4]@ is equivalent to
|
||||||
|
-- @[2,3,4,1]@ and @rotDown [1..4]@ to @[4,1,2,3]@. They both are
|
||||||
|
-- @id@ for null or singleton lists.
|
||||||
|
rotUp :: [a] -> [a]
|
||||||
|
rotUp l = drop 1 l ++ take 1 l
|
||||||
|
rotDown :: [a] -> [a]
|
||||||
|
rotDown = reverse . rotUp . reverse
|
||||||
|
Loading…
x
Reference in New Issue
Block a user