rendered paste bodydiff --git a/widget.c b/widget.c
index 3c782c4..58e2757 100644
--- a/widget.c
+++ b/widget.c
@@ -161,6 +161,9 @@ widgetUpdateWidgetStatus (CompWindow *w)
break;
}
+ printf ("update widget status for %d, property %d, widget %d (was %d)\n",
+ w->id, ww->propertyState, isWidget, ww->isWidget);
+
retval = (!isWidget && ww->isWidget) || (isWidget && !ww->isWidget);
ww->isWidget = isWidget;
@@ -183,9 +186,14 @@ widgetUpdateWidgetPropertyState (CompWindow *w)
0, 1L, FALSE, AnyPropertyType, &retType,
&format, &nitems, &remain, &data);
- if (result == Success && nitems && data)
+ printf("get widget prop for %d: result %d, nitems %d, data %p\n", w->id,
+ result, nitems, data);
+
+ if (result == Success && nitems && data && format == 32)
{
- if (*data)
+ unsigned long int *retData = (unsigned long int *) data;
+ printf("data is %i %i\n", *data, *retData);
+ if (*retData)
ww->propertyState = PropertyWidget;
else
ww->propertyState = PropertyNoWidget;
@@ -206,6 +214,7 @@ widgetUpdateWidgetMapState (CompWindow *w,
if (map && ww->wasUnmapped)
{
+ printf ("mapping %d %x\n", w->id, w->state);
XMapWindow (w->screen->display->display, w->id);
raiseWindow (w);
ww->wasUnmapped = FALSE;
@@ -217,7 +226,9 @@ widgetUpdateWidgetMapState (CompWindow *w,
widget mode which aren't supposed to be unmapped */
if (w->attrib.map_state == IsViewable)
{
+ printf("%d %d\n", w->managed, w->mapNum);
XUnmapWindow (w->screen->display->display, w->id);
+ printf ("unmapping %d\n", w->id);
ww->wasUnmapped = TRUE;
}
}
@@ -331,6 +342,7 @@ widgetToggle (CompDisplay *d,
{
WIDGET_SCREEN (s);
+ printf ("toggling widget mode, old state %d\n", ws->state);
switch (ws->state) {
case StateOff:
case StateFadeOut:
@@ -349,6 +361,8 @@ widgetToggle (CompDisplay *d,
if (!ws->grabIndex)
ws->grabIndex = pushScreenGrab (s, ws->cursor, "widget");
+ printf ("new state %d, fadetime %d, grabIndex %d\n",
+ ws->state, ws->fadeTime, ws->grabIndex);
damageScreen (s);
return TRUE;
@@ -377,6 +391,7 @@ widgetHandleEvent (CompDisplay *d,
w = findWindowAtDisplay (d, event->xproperty.window);
if (w)
{
+ printf("widget property change for %d\n", w->id);
if (widgetUpdateWidgetPropertyState (w))
{
Bool map;
@@ -487,6 +502,8 @@ widgetUpdateStatus (void *closure)
if (widgetUpdateWidgetPropertyState (w))
widgetUpdateWidgetMapState (w, (ws->state != StateOff));
+ printf("window %d %s init, isWidget %d\n", w->id, w->resName, ww->isWidget);
+
if (w->attrib.override_redirect)
clientLeader = getClientLeader (w);
else