What follows is a long-winded question about a puzzling (to me) interaction
between fvwm, xterm, and libxcursor pointer-theming.

Not suggesting this is a bug or even a problem at all, just seeking an
education as to what's going on.

Version info:

  fvwm --version:
      fvwm 2.6.5 compiled on May 15 2014 at 22:21:15 with support for:
      ReadLine, Stroke, XPM, PNG, SVG, Shape, XShm, SM, Bidi text,
      Xinerama, XRender, XCursor, XFT, NLS. 
      (Config file is pretty straightforward, will post if needed.)


  xterm -v:
      XTerm(324)

  Distro: 
      Arch, synched to repos a few days ago.


So... "Reference case": Under raw X (no WM), start up an xterm like this:

        $ xterm -ms COLOR

  where COLOR is some color specifier. Behavior as expected: Mouse pointer
  shape is the usual X "I beam", with color COLOR.  (And the same expected
  behavior is obtained via the associated X resource "pointerColor", as
  set via "-xr" option, xrdb, etc.)

  In particular, the pointer shape and workingness of "-ms" are not affected
  by any of the libxcursor theming parameters in the system-wide
  default/index.theme file, or the per-user default/index.theme file, or by
  the $XCURSOR_THEME envar.  This is also as expected (by me, anyway) since
  xterm 324 doesn't use libxcursor (at least, afaict according to ldd).


But: Under fvwm (no DE), xterm pointer behavior seems to depend on how the
xterm is started:

     * An xterm started via an fvwm menu item, e.g. 
     
           "xterm (blue pointer)"  Exec exec xterm -ms blue

       behaves as it does under raw X. And this is again true regardless of
       theming parameters in index.theme files or the (exported) value of
       $XCURSOR_THEME in fvwm's environment.

     * But: An xterm manually started from the commandline within another
       xterm (which in turn was launched via an fvwm menu item, like above)
       _is_ evidently affected by the libxcursor theming stuff: For example,
       if $XCURSOR_THEME is set to a theme name other than "core", or if one
       of the default index.theme files "Inherit"s a theme other than "core",
       then the manually-started xterm will have the themed pointer shape
       (and the -ms COLOR will be ignored).  

I understand that xterm can't color a non-core pointer, so it's not that
I'm expecting -ms to work in the manually-launched case where (for whatever
reason) xterm is paying attention to the theme stuff.  The question is: Why
does xterm pay attention to the theme stuff in the manually-launched case but
ignores it when Exec'ed from a fvwm menu? Afaict, the environments and X
resources in both cases seem to be essentially identical.

History (if it matters):

This behavior difference began about a year ago when Arch changed their
libxcursor packaging to include a system-wide default/index.theme file
which inherits a giant tortoise:

        [Icon Theme]
        Inherits=Adwaita

(Adwaita is also the name of a GNOME pointer theme, but it's more fun to
think of it as a giant tortoise.)

Anyway, prior to that change, xterm pointer behavior was identical in both
fvwm cases (i.e., non-themed, and color per "-ms") evidently because there
was no non-core default theming, so the difference never appeared. But with
the tortoise in there, if you want xterm -ms to work with manually-started
xterms you have to explicitly set XCURSOR_THEME=core (or set up your own
user default/index.theme file with "Inherits=core" (or just "Inherits=").

Again, no big deal, just would like to understand why the two cases differ.

I have a feeling the explanation is very simple and staring me in the face
but can't see it.

Reply via email to