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

Bug#303889: marked as done (xterm: missed focus event with ion3)



Your message dated Wed, 3 Nov 2010 17:39:11 +0100
with message-id <20101103163911.GA18369@vdg.blogsite.org>
and subject line Re: Bug#303889: xterm: missed focus event with ion3
has caused the Debian Bug report #303889,
regarding xterm: missed focus event with ion3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
303889: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=303889
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: xterm
Version: 4.3.0.dfsg.1-12.0.1
Severity: minor

When starting xterm under the ion3 window manager (I'm told this also
happens with ion2), the text cursor doesn't react when the window gains
/ loses focus - it always blinks (if blinking is enabled), and is
always solid (as opposed to outline).  I've dug into this, but hit a
wall where I can't tell if it's xterm or the window manager to blame,
or even the X server itself (XFree86 4.3.0 + Debian sarge patches).

          *          *          *

Analysis: early in the life of the app, it's supposed to receive an
XFocusInEvent of detail 'NotifyPointer' followed almost immediately by
an XFocusOutEvent also of detail 'NotifyPointer'.  This according to
xev.  From a few printf statements, xterm appears to never be receiving
that particular XFocusOutEvent.  This mystifies me - where did that
extra event go?  Was it never sent?

The effect is that the 'screen->select' has the INWINDOW bit set
permanently, which causes ShowCursor() to think the cursor should never
appear unfocused (non-blinking and/or outline).

Cure: This can usually be cured by dragging the xterm window between
one ion pane and another.  For some reason the XFocusOutEvent with
detail 'NotifyPointer' suddenly appears when you do this, resetting the
INWINDOW bit of the screen->select field.  Other unknown happenings may
also trigger this same event - I'm not sure.

Workaround: #define INWINDOW 0 in xc/programs/xterm/ptyx.h.  Then xterm
effectively ignores any XFocusChangeEvent with the 'NotifyPointer'
detail.  Obviously this is only a hack - there must have been a reason
to keep track of NotifyPointer events separately from NotifyAncestor
and other sorts of XFocusChangeEvent, not that I know the reason.
(I get the idea it's one of those things buried deep in the ICCCM.)

Peter

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
The report was for a pretty old version of xterm, also ion3 has been
removed from testing and unstable so I can't test it anymore.

So I just close this bug.

Feel free to reopen it if you still experience the problem with recent
versions of xterm.


-- 
Julien Viard de Galbert                        <julien@vdg.blogsite.org>
http://silicone.homelinux.org/           <julien@silicone.homelinux.org>




--- End Message ---

Reply to: