Re: [Rd] X11 device windows are spawned with empty WM_NAME property

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Fri, 17 Jun 2011 14:32:58 +0100 (BST)

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_at_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.mes_at_cbs.dk Priv: PDalgd_at_gmail.com
>
> ______________________________________________
> R-devel_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
Brian D. Ripley,                  ripley_at_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_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Fri 17 Jun 2011 - 13:45:37 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 17 Jun 2011 - 14:50:19 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive