Re: Window History Placement



>  I don't understand why such property would be needed.
> WM_CLASS+WM_WINDOW_ROLE 
> are supposed to uniquely identify every window in an application (+PID if 
> needed). In one of the URLs above I only saw that there might be some 
> problems with role, but not what problems, and I don't see how adding this

> extra property is going to fix the problem, whatever it is.

For one thing, the extra property gives clients a way to turn off history
saving, which seems valuable.
Another clever thing with the number part of the id is this "reshuffling",
which seems to implement something like the n best positions for a window with
name/class/role, although the spec is not clear enough here. What happens if
I start two instances of an app (so that the wm remembers two positions
n/c/r/1 and n/c/r/2. If I now close 1 and move 2, will the wm still remember two
n/c/r positions, or is
the old n/c/r/2 position forgotten when 2 is moved ?

Here is what the ICCCM has to say about uniquely identifying windows, its
not quite what you say,
since the ROLE is only guaranteed to be unique withing a given SM_CLIENT_ID.


-----------------------
It is necessary that other clients be able to uniquely identify a window
(across sessions) among all    windows related to the same client-ID. For
example, a window manager can require this unique ID to restore geometry
information from a previous session, or a workspace manager could use it to restore
information about which windows are in which workspace. A client may optionally
provide a WM_WINDOW_ROLE property to uniquely identify a window within the
scope specified above. The combination of SM_CLIENT_ID and WM_WINDOW_ROLE can
be used by other clients to uniquely identify a window across sessions. 

If the WM_WINDOW_ROLE property is not specified on a top level window, a
client that needs to uniquely identify that window will try to use instead the
values of WM_CLASS and WM_NAME. If a client has multiple windows with
identical WM_CLASS and WM_NAME properties, then it should provide a WM_WINDOW_ROLE
property. 

The client must set the WM_WINDOW_ROLE property to a string that uniquely
identifies that window among all windows that have the same client leader
window. The property must: 

be of type STRING; 
be of format 8; and 
contain a string restricted to the XPCS characters, encoded in ISO 8859-1.
---------------------------------

Matthias

-- 
+++ GMX - Mail, Messaging & more  http://www.gmx.net +++
NEU: Mit GMX ins Internet. Rund um die Uhr für 1 ct/ Min. surfen!




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]