Red Hat Bugzilla – Bug 103408
xterm pointer shape persists after leaving window
Last modified: 2007-04-18 12:57:16 EDT
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):
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.
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.
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.
Closing bugs for old packages that don't have a maintainer.