mirror of
https://github.com/xmonad/xmonad.git
synced 2025-07-25 17:21:52 -07:00
CHANGES.md: Sectionise 0.17.0 changes
Create three sections (enhancements, bug fixes, breaking changes) in order to organise the changes for the v0.17.0 release. As discussed in [1], the breaking changes really aren't breaking changes to normal users. The only exception could be the GenerateManpage change, but even that is only important for distro maintainers. Hence, move all of these to the very back, such that we can mention exciting features like the stack integration at the top instead. Related: https://github.com/xmonad/xmonad/pull/340 [1]: https://github.com/xmonad/xmonad/pull/340#discussion_r734956547
This commit is contained in:
122
CHANGES.md
122
CHANGES.md
@@ -2,60 +2,10 @@
|
||||
|
||||
## 0.17.0 (October ??, 2021)
|
||||
|
||||
* Fixed a bug when using multiple screens with different dimensions,
|
||||
causing some floating windows to be smaller/larger than the size they
|
||||
requested.
|
||||
### Enhancements
|
||||
|
||||
* Added `Typeable layout` constraint to `LayoutClass`, making it possible to
|
||||
cast `Layout` back into a concrete type and extract current layout state
|
||||
from it.
|
||||
|
||||
* Export constructor for `Choose` and `CLR` from `Module.Layout` to allow
|
||||
pattern-matching on the left and right sub-layouts of `Choose l r a`.
|
||||
|
||||
* Compatibility with GHC 9.0
|
||||
|
||||
* Improve handling of XDG directories.
|
||||
|
||||
1. If all three of xmonad's environment variables (`XMONAD_DATA_DIR,`
|
||||
`XMONAD_CONFIG_DIR`, and `XMONAD_CACHE_DIR`) are set, use them.
|
||||
2. If there is a build script called `build` (see [here](https://github.com/xmonad/xmonad-testing/tree/master/build-scripts) for usage
|
||||
examples) or configuration `xmonad.hs` in `~/.xmonad`, set all three
|
||||
directories to `~/.xmonad`.
|
||||
3. Otherwise, use the `xmonad` directory in `XDG_DATA_HOME`,
|
||||
`XDG_CONFIG_HOME`, and `XDG_CACHE_HOME` (or their respective
|
||||
fallbacks). These directories are created if necessary.
|
||||
|
||||
In the cases of 1. and 3., the build script or executable is
|
||||
expected to be in the config dir.
|
||||
|
||||
Additionally, the xmonad config binary and intermediate object files were
|
||||
moved to the cache directory (only relevant if using XDG or
|
||||
`XMONAD_CACHE_DIR`).
|
||||
|
||||
* Change `ScreenDetail` to a newtype and make `RationalRect` strict in
|
||||
its contents.
|
||||
|
||||
* Fixed dunst notifications being obscured when moving floats.
|
||||
https://github.com/xmonad/xmonad/issues/208
|
||||
|
||||
* Added `Foldable`, `Functor`, and `Traversable` instances for `Stack`.
|
||||
|
||||
* `util/GenerateManpage.hs` is no longer distributed in the tarball.
|
||||
Instead, the manpage source is regenerated and manpage rebuilt
|
||||
automatically in CI.
|
||||
|
||||
* Added the `extensibleConf` field to `XConfig` which makes it easier for
|
||||
contrib modules to have composable configuration (custom hooks, …).
|
||||
|
||||
* Migrated `X.L.LayoutCombinators.(|||)` into `XMonad.Layout`,
|
||||
providing the ability to directly jump to a layout with the
|
||||
`JumpToLayout` message.
|
||||
|
||||
* Document the help command in the help message.
|
||||
|
||||
* `DestroyWindowEvent` is now broadcasted to layouts to let them know
|
||||
window-specific resources can be discarded.
|
||||
* Migrated `X.L.LayoutCombinators.(|||)` into `XMonad.Layout`, providing the
|
||||
ability to directly jump to a layout with the `JumpToLayout` message.
|
||||
|
||||
* Recompilation now detects `stack.yaml` (can be a symlink) alongside
|
||||
`xmonad.hs` and switches to using `stack ghc`. We also updated INSTALL.md
|
||||
@@ -65,13 +15,67 @@
|
||||
it easier for us to clean up the codebase. These can still be suppressed
|
||||
manually using an `OPTIONS_GHC` pragma with `-Wno-deprecations`.
|
||||
|
||||
* Added `withUnfocused` function to `XMonad.Operations`, allowing for
|
||||
`X` operations to be applied to unfocused windows.
|
||||
* Improve handling of XDG directories.
|
||||
|
||||
* Made `(<&&>)` and `(<||>)` non-strict in their right operand; i.e.,
|
||||
these operators now implement short-circuit evaluation so the right
|
||||
operand is evaluated only if the left operand does not suffice to
|
||||
determine the result.
|
||||
1. If all three of xmonad's environment variables (`XMONAD_DATA_DIR,`
|
||||
`XMONAD_CONFIG_DIR`, and `XMONAD_CACHE_DIR`) are set, use them.
|
||||
2. If there is a build script called `build` (see [these build scripts]
|
||||
for usage examples) or configuration `xmonad.hs` in `~/.xmonad`, set
|
||||
all three directories to `~/.xmonad`.
|
||||
3. Otherwise, use the `xmonad` directory in `XDG_DATA_HOME`,
|
||||
`XDG_CONFIG_HOME`, and `XDG_CACHE_HOME` (or their respective
|
||||
fallbacks). These directories are created if necessary.
|
||||
|
||||
In the cases of 1. and 3., the build script or executable is expected to be
|
||||
in the config dir.
|
||||
|
||||
Additionally, the xmonad config binary and intermediate object files were
|
||||
moved to the cache directory (only relevant if using XDG or
|
||||
`XMONAD_CACHE_DIR`).
|
||||
|
||||
* Added `Foldable`, `Functor`, and `Traversable` instances for `Stack`.
|
||||
|
||||
* Added `Typeable layout` constraint to `LayoutClass`, making it possible to
|
||||
cast `Layout` back into a concrete type and extract current layout state
|
||||
from it.
|
||||
|
||||
* Export constructor for `Choose` and `CLR` from `Module.Layout` to allow
|
||||
pattern-matching on the left and right sub-layouts of `Choose l r a`.
|
||||
|
||||
* Added `withUnfocused` function to `XMonad.Operations`, allowing for `X`
|
||||
operations to be applied to unfocused windows.
|
||||
|
||||
[these build scripts]: https://github.com/xmonad/xmonad-testing/tree/master/build-scripts
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Fixed a bug when using multiple screens with different dimensions, causing
|
||||
some floating windows to be smaller/larger than the size they requested.
|
||||
|
||||
* Compatibility with GHC 9.0
|
||||
|
||||
* Fixed dunst notifications being obscured when moving floats.
|
||||
https://github.com/xmonad/xmonad/issues/208
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
* Made `(<&&>)` and `(<||>)` non-strict in their right operand; i.e., these
|
||||
operators now implement short-circuit evaluation so the right operand is
|
||||
evaluated only if the left operand does not suffice to determine the
|
||||
result.
|
||||
|
||||
* Change `ScreenDetail` to a newtype and make `RationalRect` strict in its
|
||||
contents.
|
||||
|
||||
* Added the `extensibleConf` field to `XConfig` which makes it easier for
|
||||
contrib modules to have composable configuration (custom hooks, …).
|
||||
|
||||
* `util/GenerateManpage.hs` is no longer distributed in the tarball.
|
||||
Instead, the manpage source is regenerated and manpage rebuilt
|
||||
automatically in CI.
|
||||
|
||||
* `DestroyWindowEvent` is now broadcasted to layouts to let them know
|
||||
window-specific resources can be discarded.
|
||||
|
||||
## 0.15 (September 30, 2018)
|
||||
|
||||
|
Reference in New Issue
Block a user