A couple removed constructors need to be replaced by the lowercase versions
(ex. State = StateT Identity now). But it isn't clear that mtl-1 should be
dropped.
Now TrackFloating remembers focus for the given layout when the other window is
also tiled, but not fed to the given layout: this helps with X.L.IM, among
others.
The X.L.Maximize layout modifier does not track whether the window it stores as
maximized does still exist. The X server reuses window IDs. As a result, I
was able to reproduce the following behaviour (e.g., by opening and closing
xpdf windows): Create a window, maximize it, close it without restoring it to
its normal state. Open a new window with the same window ID (e.g., an xpdf
window after just closing an xpdf window). The new window will open maximized,
which is not what one would expect. This patch addresses this problem,
removing the ID of the maximized window from the layout when the maximized
window is closed.
Addresses the comment that:
If the focus goes from the floating layer to tiling by deleting a floating
window, it's again the master window that gets focus, not the remembered
window.
Correct errors regarding a description of `mappend' for X
Use <+> more often since that's `consistent', and there is no difference since
it's the same as >> when all arguments have the same type (which they do...
otherwise people aren't just combining valid values for that field of the
config).
Calling these functions during message handling results in the loss of layout state.
This fixes a number of bugs related to the combination of X.L.Minimize with a decoration.
XMonad.Hooks.Minimize handles both minimize and restore
messages. Handling restore messages was already done in
RestoreMinimized, which this module intends to replace.
When the focused window was closed without a new window receiving focus, the
closed window was not removed from the history database, making for example
"nextMatch History (return True)" misbehave. This patch fixes this.
This patch replaces the use of Seq.filter and Seq.breakl with two
functions flt and brkl that do the same. This is necessary to
keep compatibility with containers < 0.3.0.0 because Seq.filter and
Seq.breakl were introduced only in containers 0.3.0.0.
This module adds two related facilities. The first one allows cycling through
the windows in a window group. A group is defined as the set of windows for
which a given Boolean Query returns True. The second one keeps track of the
history of focused windows and allows returning to the most recently focused
window in a given window group before the currently focused window.
This patch adds the possibility to update the state of a layout modifier when
modifying the underlying layout before it is run(i.e. using modifyLayout).
The modified state is also passed to the subsequent call of redoLayout, whose
return takes precedence if both functions return modified states of the layout
modifier.