#include <X11/Xutil.h>
/*! The event mask to grab on client windows */
-#define CLIENT_EVENTMASK (PropertyChangeMask | FocusChangeMask | \
- StructureNotifyMask)
+#define CLIENT_EVENTMASK (PropertyChangeMask | StructureNotifyMask)
#define CLIENT_NOPROPAGATEMASK (ButtonPressMask | ButtonReleaseMask | \
ButtonMotionMask)
guint j;
GSList *it;
- ob_debug("Unmanaging window: %lx (%s)\n", self->window, self->class);
+ ob_debug("Unmanaging window: %lx (%s) (%s)\n", self->window, self->class,
+ self->title ? self->title : "");
g_assert(self != NULL);
void client_hilite(ObClient *self, gboolean hilite)
{
+ if (self->demands_attention == hilite)
+ return; /* no change */
+
/* don't allow focused windows to hilite */
self->demands_attention = hilite && !client_focused(self);
if (self->demands_attention)
return FALSE;
}
+ ob_debug("Focusing client \"%s\" at time %u\n", self->title, event_curtime);
+
if (self->can_focus) {
/* RevertToPointerRoot causes much more headache than RevertToNone, so
I choose to use it always, hopefully to find errors quicker, if any