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

From: peter dalgaard <pdalgd_at_gmail.com>
Date: Fri, 17 Jun 2011 14:27:44 +0200

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.
>
> 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?
>

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
Received on Fri 17 Jun 2011 - 12:31:01 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:10:21 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