Wed, 31 Oct 2012 20:05:22 +0100 от Thomas Lübking <thomas.luebk...@gmail.com>:
> On Mittwoch, 31. Oktober 2012 18:19:02 CEST, Vladimir A. Pavlov wrote:
> 
> > One more question: would it be correct to set only WM_WINDOW_ROLE
> > and not to set WM_CLASS, WM_CLIENT_LEADER, SM_CLIENT_ID?
> 
> No. It does *not* substitute any of those.
I understand it does not substitute them. But if I have a proper
WM_WINDOW_ROLE value I don't need WM_CLASS/etc at all.

I'm just searching a way to distinguish between taskbar and menu. AFAIU I
should set WM_CLASS to somebox/SomeBox (not, for example,
somebox/Menu or someboxmenu/SomeBox) for it so WM_CLASS wouldn't
help me here. So I see no reason to set WM_CLASS since the only property
that would help me is WM_WINDOW_ROLE.

I'd like to only set WM_WINDOW_ROLE and leave
WM_CLASS/WM_CLIENT_LEADER/etc empty to have as little code
as possible since I don't use those.

> In general you should provide the info you have to allow the WM to classify 
> the client as good as possible, but this of course heavily depends on what 
> you're doing there (ie. if i write me some testing X11 code to fire a window 
> and do "sth." with it, i won't set any of those properties.)
> 
> WM_CLASS and WM_NAME are kind of "mandatory" for regular clients, esp. 
> WM_CLASS allows WMs to autogroup clients on one VD, in a tab stack, navigate 
> only inside this class etc.
> 
> The SM_CLIENT_ID is required on the window that is set as "WM_CLIENT_LEADER" 
> by itself or other clients and this information is requried if you want to 
> preserve window states across sessions (logout, login, autostart former 
> present clients)

That's what I'm asking about.

If I set WM_CLIENT_LEADER for a window I _must_ set SM_CLIENT_ID
for it. But must I set anything for a window I set WM_WINDOW_ROLE for?
IOW is it an allowable situation when a window only have
WM_WINDOW_ROLE property and nothing else?

> Whether you want this depends on what client you write but should provided by 
> a toolkit (in case you're writing such) and is supported by the "major" ones 
> (Qt & Gtk+)

I'm working on a window manager, not a regular client. It can distinguish
between its windows (taskbar, menu, etc). And if I set menu role to
"somebox-menu" then external apps could detect window manager menu
as well and there would be no need in WM_CLASS/WM_NAME/etc.

My goal is to allow other applications to distinguish between windows
created by somebox by as little code as possible. I thought about setting
WM_CLASS but it appeared to be incorrect. Not I think about using
WM_WINDOW_ROLE so WM_CLASS is unnecessary for my task. But
what do the standards say about this?
_______________________________________________
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com

Reply via email to