X.A.Navigation2D: Add sideNavigation as to default tiled navigation

Add sideNavigation as a fallback if needed.  This should not have any
user-facing behaviour change when not using gaps or spacing, as line
navigation is preferred.  However, users who do use spacing or gaps
should now potentially not have to change the default strategy in order
to have a usable module.
This commit is contained in:
Tony Zorman 2022-10-16 10:52:11 +02:00
parent cca2ccfc71
commit 570eb8ccb8
2 changed files with 10 additions and 3 deletions

View File

@ -84,6 +84,12 @@
- Added `setupInsertPosition` as a combinator alternative to
`insertPosition`.
* `XMonad.Actions.Navigation2D`
- Added `sideNavigation` as a fallback to the default tiling strategy,
in case `lineNavigation` can't find a window. This benefits
especially users who use `XMonad.Layout.Spacing`.
### Other changes
## 0.17.1 (September 3, 2022)

View File

@ -98,8 +98,9 @@ import XMonad.Util.Types
-- > $ def
--
-- /NOTE/: the @def@ argument to 'navigation2D' contains the strategy
-- that decides which windows actually get selected. If you use modules
-- that influence tiling in some way, like "XMonad.Layout.Spacing" or
-- that decides which windows actually get selected. While the default
-- behaviour tries to keep them into account, if you use modules that
-- influence tiling in some way, like "XMonad.Layout.Spacing" or
-- "XMonad.Layout.Gaps", you should think about using a different
-- strategy, if you find the default behaviour to be unnatural. Check
-- out the [finer points](#g:Finer_Points) below for more information.
@ -463,7 +464,7 @@ withNavigation2DConfig conf2d xconf = xconf { startupHook = startupHook xconf
}
instance Default Navigation2DConfig where
def = Navigation2DConfig { defaultTiledNavigation = lineNavigation
def = Navigation2DConfig { defaultTiledNavigation = hybridOf lineNavigation sideNavigation
, floatNavigation = centerNavigation
, screenNavigation = lineNavigation
, layoutNavigation = []