As it now consists of a startup hook, a manage hook, an event hook and
a layout modifier, and behaves erratically when any one component is not
included in a user's config (which happens to be the case for all
configs from xmonad-contrib 0.12 since the startup hook is a new
inclusion), it's probably wise to have a single function that adds
all the hooks to the config instead.
NB: This will need a release notes entry anyway!
This patch changes SpawnOn, DynamicHooks and UrgencyHooks to
use X.U.ExtensibleState instead of IORefs. This simplifies the
usage of those modules thus also breaking current configs.
Set EWMH support atoms and the window manager name in a startup hook,
rather than in the log hook: the log hook occurs far too frequently
for it to make sense to set constants with it.
WARNING: this patch may be breaking your configuration. While it is
still possible to use:
tabbed shrinkText defaultTConf
updating the fields of the defaultTConf record is not possible
anymore, since the type TConf is now hidden.
WARNING: "tabSize" has been substituted by "decoHeight"
You can change your configuration this way:
myTConf :: TConf
myTConf = defaultTConf
{ tabSize = 15
, etc....
becomes:
myTConf :: DeConfig TabbedDecoration Window
myTConf = defaultTabbedConfig
{ decoHeight = 15
, etc....
and
tabbed shrinkText myTConf
becomes:
tabDeco shrinkText myTConf