When monitors are removed, the coordinates of existing monitors may
change, if the removed monitors had smaller coordinates than the
remaining ones.
Remove special case handling so that the same update-if-necessary loop
is run also in the case when monitors are removed.
ref.
https://git.suckless.org/dwm/commit/d93ff48803f04f1363bf303af1d7e6ccc5cb8d3f.html#h0-0-21
In certain instances trans may be set to a window that doesn't actually
map to a client via wintoclient; in this case it doesn't make sense
to set isfloating/oldstate since trans is essentially invalid in that
case / correlates to the above condition check where trans is set /
XGetTransientForHint is called.
Ref.
https://git.suckless.org/dwm/commit/bece862a0fc4fc18ef9065b18cd28e2032d0d975.html
mechanism from SIGUSR1 to SIGRTMIN which is likely to cause issues for
those that already have a working setup. A compatibility option has been
added which changes this back to SIGUSR1. Note that configuration was
also changed.
This was ref. reported issue #114.
Unified tag icon handling while adding support for different icons per monitor.
In general LENGTH(tags) has been replaced with a NUMTAGS macro (defaulting to 9)
and the tags[] array has been replaced with a tagicons[][] array, access to which
is done through a single function tagicon.
This allows one central place where alternative tags, alttagsdecoration, or other
future tags logic is handled. This also gives a consistent display of tags
regardless of the module that presents tags.
Additionally the monitor index has been integrated into dwm for easier access.