xboard-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[XBoard-devel] Desktop Effects (Compiz)


From: h.g. muller
Subject: [XBoard-devel] Desktop Effects (Compiz)
Date: Sun, 12 Jul 2009 18:28:15 +0200

We have a really nasty problem here:

XBoard 4.4.0 seems to not work at all when desktop effects are switched on.
None of the windows ever gets focus, so it is not possible to enter any data
in the dialog boxes.

Problem is that I don't know exactly what the symptoms are, and cannot
try them for myself: I cannot switch desktop effects on at all on my Linux
computer (blacklisted video driver...).

This problem is new in 4.4.0, which suggests that it is brought about by
the code I added to transfer keyboard focus to text widgets in dialogs
that have multiple text input fields. In 4.2.7 there were no such dialogs.
It is very possible that I am doing something counter-natural here:
I was appalled that Xaw text-edit widgets were not able to capture focus
by themselves. But when used naively it was only possible to type text
into them when the mouse pointer was actually inside the widget.

To solve it I had to assign a mouse-button triggered callback to each
text widget, and have the callback make an explicit call to XtSetKeyboardFocus
to transfer focus to the clicked widget. I was really shocked that I had
to implement such low-level functons myself. So perhaps I overooked
something and wasn't supposed to do this at all. I am still not happy
with th way it works, for instance: when a text widget gets focus,
the cursor that appears in it is always at the beginning of the text
it contains, and never at the end where I would expect it.

It might be very possible that focus gets lost somewhere in the process,
or, like someone on the Chess War chat suggested, remains on an
widget in a hidden window. One thing that is sure is that I make no attempt
to transfer focus anywhere else before closing a dialog or auxiliary window.
But I cannot try out any hypothesis on what causes the failure myself...




reply via email to

[Prev in Thread] Current Thread [Next in Thread]