Bug 103408

Summary: xterm pointer shape persists after leaving window
Product: [Retired] Red Hat Linux Reporter: Michael Vanier <mvanier>
Component: xterm-colorAssignee: Preston Brown <pbrown>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 9   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-08-23 19:41:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michael Vanier 2003-08-29 21:07:11 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030630

Description of problem:
This bug is not specific to xterm, but since xterm does exhibit the bug I've
chosen to use it for illustration.  I believe the bug is actually deep inside X.
 Rxvt and Emacs have the exact same bug.

When running xterm with certain X resources set, the pointer shape (the
I-beam-like pointer used to select text in an xterm window) often (but not
always) persists when leaving the xterm window, even when moving into other
applications for which this pointer type is clearly inappropriate.  Clicking on
the new application window usually, but not always, causes the pointer to change
to the correct value.

Here is an easy way to reproduce the problem.  Assuming that no X resources
relating to xterm have been set in the user's .Xresources or .Xdefaults file,
type this at a terminal prompt:

xterm -xrm "XTerm*pointerColor: khaki" -xrm "XTerm*cursorColor: khaki"

This will bring up a new xterm window in which both the cursor and the pointer
color are khaki.  Make xterm the only visible window (this isn't essential but
it simplifies the demonstration).  Click in the xterm window; the pointer will
change to the I-beam pointer shape.  Then move the pointer outside the window. 
Instead of switching immediately to an arrow pointer shape as it should, most of
the time the I-beam shape will persist until another application window is
selected.  For extra fun, move the pointer in and out of the xterm window; you
should see the pointer changing from I-beam to arrow less than half the time.

This problem may appear minor, but it isn't.  When using emacs, for instance, if
a cursor from a previous program persists into the emacs window, it can be
impossible to change it (clicking won't help).  This ruins the user experience.

I have not seen this problem with other versions of Linux (e.g. Debian) or with
previous versions of Red Hat Linux.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Type xterm -xrm "XTerm*pointerColor: khaki" -xrm "XTerm*cursorColor: khaki"
2. Click on the xterm window.
3. Move the pointer outside the xterm window to the root window.
    

Actual Results:  The pointer shape will not change from an I-beam shape to an
arrow shape as it should (most of the time; about 20% of the time it does change).
Moving the pointer back and forth from the root window to the xterm window will
show that the pointer shape occasionally changes correctly but usually doesn't.

Expected Results:  The pointer shape should have changed from an I-beam shape to
an arrow shape.

Additional info:

See above.  This problem also occurs with emacs, rxvt, and probably with any
application that uses a non-arrow cursor and where X resources relating to color
selection have been set.  I have seen it happen with emacs when only the
background color has been changed using an X resource.

Comment 1 Michael Vanier 2003-09-16 05:23:16 UTC
This bug definitely does not depend on the window manager being used.  I have
reproduced it under Gnome, KDE and twm.  I have also reproduced it on different
machines running RH 9.0 (but it's not present on RH 7.x; haven't tried 8.x). 
It's also not dependent on the application; ANY application that sets certain X
resources (notably colors) and sets a pointer shape will exhibit it.

Comment 2 Elliot Lee 2004-08-23 19:41:40 UTC
Closing bugs for old packages that don't have a maintainer.