Hello,

I've noticed that X11 device windows (the ones that pop up when I plot
something on Linux) aren't assigned any WM_NAME property until after they've
been spawned.  This causes problems for users of tiling window managers, who
may wish to use the WM_NAME property to decide whether to float or tile the
window.

If I create a plot and then examine the window properties with xprop, I see
something like the following: WM_NAME(STRING) = "R Graphics: Device 2
(ACTIVE)".  However, by instructing my window manager (xmonad) to float all
windows with a matching name, I can tell that when the window was created
its WM_NAME property was empty.

Is this behavior intended?  Would be it be reasonable to instead create
windows with a generic name like "R Graphics" prior to updating them with
the device number and active/inactive status?

I'm not familiar with the R code base, but I found that creating a plot
results in a call to the function in_do_X11 in the file
src/modules/X11/devX11.c.  In that function (around like 2869) there is code
to parse out the window title from the SEXP args parameter, and it always
seems to parse out an empty string.  If I manually assign title="R Graphics"
at that point, I am able to successfully float R plot windows based on their
WM_NAME. (line numbers based on SVN revision 56131)

Is this actually an issue that needs fixing?  Should I create a bug report
for this?

Thanks,
Drew

        [[alternative HTML version deleted]]

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to