Add client_seturgent and a bit more ICCCM compatibility

Stolen straight from 3.4

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
Fix a small compiler warning

Apparently libevent declares a global called 'raise'. The parameter
shadowed that here.

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
Draw: fix some Imlib warnings

Using an iconbox without an image caused a warning from imlib.

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
Fix focus tracking on tag viewing

The original reason for this patch was the following:
When focusing a client and hiding that by unviewing all of its tags
and then trying to set the urgent hint on that client got wrongly
ignored.

It also (slightly) changes behaviour when viewing tags: If a new client
is made visible by viewing a tag, and that client comes before the
currently focused one in the focus list, it is focused instead of the
current one.

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
Add support for _NET_WM_STATE_DEMANDS_ATTENTION

Straight from 3.4

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
Replace obsolete XKeycodeToKeysym

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
Use inverse of the golden ratio for default mwfact

This makes for a more pleasant splitting between master and slave
windows.

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
UICB: allow running a uicb on all screens

-1 is an alias to "run on all screens"

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>
Completely change the default mwfact to .618

The original changes to tag.c missed quite a bunch.

Signed-off-by: Gregor Best <gbe@ring0.de>
Signed-off-by: Julien Danjou <julien@danjou.info>