Factor shared logic out of X.A.Cycle* modules

These modules were duplicating a substantial amount of low-level code.

`X.A.CycleWorkspaceByScreen` had already separated most of the
implementation details from the logic with `repeatableAction`; all that
was left was to generalise it a little further, put it in a suitable
place and express the other modules through it.
This commit is contained in:
L. S. Leary
2022-10-21 21:01:27 +13:00
committed by Tony Zorman
parent e85f0151b2
commit dd7855da3d
6 changed files with 136 additions and 62 deletions

View File

@@ -132,6 +132,7 @@ library
XMonad.Actions.Promote
XMonad.Actions.RandomBackground
XMonad.Actions.RepeatAction
XMonad.Actions.Repeatable
XMonad.Actions.RotSlaves
XMonad.Actions.RotateSome
XMonad.Actions.Search
@@ -415,6 +416,7 @@ test-suite tests
XMonad.Actions.FocusNth
XMonad.Actions.GridSelect
XMonad.Actions.PhysicalScreens
XMonad.Actions.Repeatable
XMonad.Actions.RotateSome
XMonad.Actions.Submap
XMonad.Actions.SwapWorkspaces