Hi. Sorry my delayed opinion about this issue but I still have some
little comments.

>  If this worked before this was a bug in openbox. If it does
>  not work now this is no bug. xrootconsole opens a window on
>  top of the X root window so openbox can't get the click
>  event on it. This should be fixed in xrootconsole if it's
>  not intended there. I suggest you using root-tail instead
>  which does not open a new window but draws on the root
>  window.

I tested with openbox 3.4.5-1 and I confirm the program xrootconsole
worked fine (the same version). Indeed xrootconsole is a very old
program (the latest version was since 2004). The latest changes on
openbox 3.4.6.1 to affect its behaviour.

The openbox's menu doesn't appear anymore when the xrootconsole is
running.  Although the problem is on xrootconsole because creates a
new root window  I don't know if was a good idea to change the
original openbox behaviour.

I found where were the changes:

On openbox 3.4.5 on the file openbox/event.c, the program had this:

 673     if (e->type == ButtonPress || e->type == ButtonRelease ||
 674         e->type == MotionNotify || e->type == KeyPress ||
 675         e->type == KeyRelease)
 676     {
 677         event_handle_user_input(client, e);
 678     }

Now on openbox 3.4.6.1 the program has this:

 702     if (e->type == ButtonPress || e->type == ButtonRelease) {
 703         /* If the button press was on some non-root window, or
was physically
 704            on the root window, then process it */
 705         if (window != RootWindow(ob_display, ob_screen) ||
 706             e->xbutton.subwindow == None)
 707         {
 708             event_handle_user_input(client, e);
 709         }
 710         /* Otherwise only process it if it was physically on an openbox
 711            internal window */
 712         else {
 713             ObWindow *w;
 714
 715             if ((w = g_hash_table_lookup(window_map,
&e->xbutton.subwindow)) &&
 716                 WINDOW_IS_INTERNAL(w))
 717             {
 718                 event_handle_user_input(client, e);
 719             }
 720         }
 721     }
 722     else if (e->type == KeyPress || e->type == KeyRelease ||
 723              e->type == MotionNotify)
 724         event_handle_user_input(client, e);

This blocks the ButtonPress event coming from an external root window
(like xrootconsole). Before it let pass that event.

Although for example root-tail works fine because just defines a
root-window if there isn't one before, in other case uses the previous
root-window defined.

My concern is that other apps like xrootwindow will be affect with this change.

Regards.


-- 
Anibal Avelar (FixXxeR) http://fixxxer.cc
GPG: 83B64656 - C143 4AD8 B017 53FA B742 D6AA CEEA F9F3 83B6 4656



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to