xmonad-contrib v0.15 Release Notes
Release Date: 2018-09-30 // over 5 years ago-
๐ฅ Breaking Changes
XMonad.Layout.Groups
&XMonad.Layout.Groups.Helpers
The layout will no longer perform refreshes inside of its message handling. If you have been relying on it to in your xmonad.hs, you will need to start sending its messages in a manner that properly handles refreshing, e.g. withsendMessage
.
๐ New Modules
XMonad.Util.Purex
Unlike the opaque
IO
actions thatX
actions can wrap, regular reads from theXConf
and modifications to theXState
are fundamentally pure -- contrary to the current treatment of such actions in most xmonad code. Pure modifications to theWindowSet
can be readily composed, but due to the need for those modifications to be properly handled bywindows
, other pure changes to theXState
cannot be interleaved with those changes to theWindowSet
without superfluous refreshes, hence breaking composability.This module aims to rectify that situation by drawing attention to it and providing
PureX
: a pure type with the same monadic interface to state asX
. TheXLike
typeclass enables writing actions generic over the two monads; if pure, existingX
actions can be generalised with only a change to the type signature. Various other utilities are provided, in particular thedefile
function which is needed by end-users.
๐ Bug Fixes and Minor Changes
Add support for GHC 8.6.1.
XMonad.Actions.MessageHandling
Refresh-performing functions updated to better reflect the newsendMessage
.