On Fri, 17 Jun 2011, peter dalgaard wrote:
On Jun 17, 2011, at 01:53 , Drew Frank wrote:
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.
That is what the window class property is for .... X11 windows can
(and R allows) have different names chosen by the user.
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?
Yes, no.
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
In which version of R? The codebase for the development version is
quite different from that in the 2.13.x series ....
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?
A well-tested patch might be considered, but beware of the demons...
Notice that you can actually set the title via X11(title="Foo's
bar"). If you do that, it won't display the device number. So (a)
you wouldn't want to destroy that feature, and (b) how does the code
that inserts the "Device 2" bit know that it can do so? By checking
for an empty title? (Yup).
I notice that the initial title string could contain formatting
characters, so possibly, what you really want to do is to default it
to "R Graphics: Device %d"). Something of the sort is already
happening with the quartz() device.
Thanks,
Drew
[[alternative HTML version deleted]]
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
--
Peter Dalgaard
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd....@cbs.dk Priv: pda...@gmail.com
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
--
Brian D. Ripley, rip...@stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel