Re: ICCCM breakage, IconicState, and desktops

> If client is put into IconicState it serves as an indication that client
> should animate its icon window and WM_ICON_NAME. It is widely used feature
> practice. Especially animating WM_ICON_NAME. For example in terms, there
> an escape sequence for changing term's title, which gets displayed in
> WM_ICON_NAME if term is in IconicState. Web browser will display download
> progress in WM_ICON_NAME when its in IconicState. And lots more uses for
> Naturally ICCCM does not guarantees that it will be viewable, but it does
> state that WM_ICON_NAME should be animated instead of WM_NAME when window
> in IconicState. And Window Manager should do its best to actually display
> this data, unless otherwise required by its policies. Its usefull service
> lots of users swear by it.
> Now what happen when you change window into IconicState, while switching
> desktops? Client will assume that it should animate its WM_ICON_NAME and
> proceed to do just that. Yet taskbar/Pager/whatever will still be
> WM_NAME, since it awaits _NET_WM_MINIMIZED. AS the result you will get a
> - download progress for off-desktop browsers will be frozen, term's title
> changes will not be displayed in taskbar and user will get rather pissed
> To avoid that you should start displaying WM_ICON_NAME, despite the fact
> window was not really minimized, but merelly moved off-desktop.
> you have to display window as minimized, even thou _NET_WM_MINIMIZED is
> set. What is the value of _NET_WM_MINIMIZED in such context let me ask you
> None whatsoever.

Whats wrong with pagers/taskbars using WM_ICON_NAME instead of WM_NAME if
window is in IconicState ?  But even if they do so, there is one crucial
difference between
IconicState + _NET_WM_MINIMIZED and IconicState - _NET_WM_MINIMIZED

IconicState + _NET_WM_MINIMIZED:
    pagers/taskbars display WM_ICON_NAME, pagers don't represent the main
IconicState - _NET_WM_MINIMIZED:
    pagers/taskbars display WM_NAME, pagers represent the main window, *even
though it is unmapped*

> Now what is the exact semantics of this new state, nobody was able to tell
> exactly so far. My perseption is that it is almost identical to what
> IconicState was considered to be. And IMHO introduction of this state will
> cause nothing but confusion among application developers, with something
> the following occuiring in their monds :

Application developers should not worry about wm state transitions at all.
This is the job of the wm.


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