Just a small refactooring (well, now runCommand requires a command list, and
I added runCommand's that will take a string to run it against the default
command list) to include this module in MetaModule so that we can track it
in case of API changes (this patch has been requested by Spencer).
It is now possible to configure active and inactive border colors, and
active and inactive text colors (i.e. tabs are now very similar to Ion3
tabs: former Ion users may appreciate).
fetchName may return a Nothing if the window's name contains multi byte
characters. In such a case the resName string of the ClassHints of that
window will be used instead.
The default resize handler for floating windows warps the mouse pointer to
the bottom right corner of the window (fixing the opposite, upper left,
corner). This extension lets you use any of the four window corners as
grabbing points, allowing more flexible resizing.
This adds some type safety, since the super-layout is now of a distinct
type from the sublayouts. This avoids the ugliness we had, of passing
"fake" windows to the super layout. Now we directly lay out the layouts.
This module allows dwm-style tagging (as I understand dwm). You can have a
given window visible in multiple workspaces. If it's visible in two
workspaces both of which are visible, a gap will show up in one of them
(which is something that needs fixing in xmonad core). Also defines a
kill1 which is like kill, but only removes from the current workspace a
window if it's in multiple workspaces.
This modifies all the contrib modules to work (so far as I know) with the
new contrib layout. The exception is the LayoutHooks module, which isn't
used. It exports an API that is inherently unsafe, so far as I can tell
(and always has been).
It's unclear to me what SimpleStacking is supposed to accomplish, so I'm just
going to note that it doesn't work with Xinerama. (Due to assuming that the
current workspace is the one being laid out)