The Replace and Merge messages are added to support layouts sending a list of
windows that should be skipped over. The sources are tagged by a string key, so
it is possible though unlikely for different sources of boring windows to
interfere with eachother.
Add the OneBig layout, which places one (master) window at top left corner of
screen (width and height of master window are parameters of layout), and other
(slave) windows at bottom and at right of master, trying to give equal space
for each slave window.
The old version fairly arbitrarily decided to prefer windows that are too
high over those that are too wide. The new version chooses the number of
columns so that all windows on the screen are as close as possible to the
desired aspect ratio. As a side effect, the layout changes much more
predictably under addition and removal of clients.
Now smartBorders shows borders when you have multiple screens with one window
each. In the case where only one window is visible, no borders are drawn.
GridVariants.TallGrid behaved weird when transformed using Mirror
or Reflect. The new layout SplitGrid does away with the need for
such transformations by taking a parameter to specify horizontal
or vertical splits.
The position of a window in the stack determines its position and layout. And
the overall tendency to make wide or tall windows can be changed, though not
all of the options presented by MosaicAlt can be reached, the layout changes
with each aspect ratio message.
centerMaster layout modifier places master window at top of other, at center of screen. Other windows are managed by base layout.
topRightMaster is similar, but places master window at top right corner.
Added a module XMonad.Layouts.GridVariants, which defines layouts
Grid and TallGrid. The former is a customizable version of Grid. The latter
is a combination of Grid and Tall (see doc of the module).