Re: WM hints again!!!!!!



On 23 Apr, George shouted:
->  Quoting Max Watson (redline@pdq.net):
->  > At 10:44 AM 4/22/98 -0700, George wrote:
->  > >> no. need 2 more "ALWAYS_ONTOP" and "ALWAYS_BELOW" - the panel has to
->  > >> set "ALWAYS_ONTOP" so it is NEVER obscured by anything else the WM
->  > >> creates or manages.
->  > >
->  > >optionally though I guess ...
->  > >
->  > >some people might want to put windows on top of the panel .... and if
->  > >the panel is then a normal window, at least automatic placement will be
->  > >aware of it
->  > >
->  > >so that's 4:
->  > >
->  > >STICKY
->  > >DESKTOP_NUM
->  ^^^^^^^^^^^^^^

desktop_num isn't much use unles the app knows:
1. how many desktops are there
2. what desktop are we on now
and a num isnt much of a generalization.. I suggest a mask (bitmaks) to
determine what desktop the app lives on so if we have 8 desktops the
bits in the byte of the mask could be:
01100101
ie it lives on desktops 0,2,5 and 6
thiw is a generalization of the desktop_num thing - well E 0.14
supports it and is how it does ti interanalls - 0.14 is limited to 32
virtual desktops - why you would ever need more beats me.
but we can extend this to  - wm sets the numebr of desktops as a
property onthe root window.. the app can suply as many vbytes as needed
with the correct bits set to create a mask for which desktop it lives
on.. if the number of desktops change - the wm can changed the root
window property. the app can get this as  a propertychange event ias
long as it selects it.

->  > >ALWAYS_ON_TOP
->  > >ALWAYS_BELOW
->  > >
->  > >anybody want to write a spec? ... it needs to work nicely around other
->  > >browsers ... also they shouldn't be set from the app itself but from an
->  > >api in libgnomeui
->  > >
->  > >if STICKY is not available, we need override redirect, if we can't
->  > >set/get DESKTOP_NUM, ignore it as well as _ONTOP and _BELOW as tehre are
->  > >no workarounds for those at all ... (and override redirect isn't a very
->  > >good workaround either, but it should make it work with any wm)
->  > >
->  > >I don't see these as really gnome specific, but more arising from the
->  > >capabilities of modern WMs which motif/openlook hints seems to miss ...
->  > >it shouldn't be hard convincing WM writers to provide these, since it
->  > >seems quite simple to honor them ... and they can easily be used in
->  > >other apps (not gnome apps) ...
->  > >
->  > 
->  > I will write up an API proposal and post it to this list tomorrow. In
->  > addition to the four hints George proposes above, I believe three others
->  > are needed. 
->  > The first would be a hint that the wm sets to announce that it is "GNOME
->  > aware," similar to the MOTIF_IS_WM wm hint. This can be used by libgnomeui
->  > to determine whether to use the STICKY hint, or fallback to override
->  > redirect if the WM_IS_GNOME_AWARE hint is not set, etc. 
->  > The second would be a GNOME_PANEL_PROPERTIES hint that the panel(s) can set
->  > to let a wm know it's size and position on screen so that the wm can
->  > (optionally, as all hints are, of course) set aside that space when
->  > maximizing windows or using smart placement, etc.
->  
->  yes .. the first one is needed the second one is very nice ... but I
->  would name it something like GNOME_NO_CLUTTER or something like that ..
->  basically a window with this hint would make the window manager take
->  maximum care not to put windows over it
->  
->  > The third hint is another hint for the wm to set. This would be a hint to
->  > specify which virtual desktop an application resides on. This hint would
->  > not be needed by applications directly, but would be very useful for
->  > session-management purposes. Currently all apps restart one desktop, or at
->  > least they do on my machine running a modified icewm.
->  
->  I already mentioned this one so it's 6 hints ...
->  
->  > If anyone can come up with a standard way to accomplish these things, other
->  > than a proprietary hint, please let me know. Otherwise I will post an API
->  > proposal here tomorrow, and get started adding it to libgnomeui. BTW, how
->  > does one go about getting write access to the CVS?
->  
->  one goes about that by asking miguel ... and if it's the third full moon
->  in a year and the position of the casiopea constelation is parallel with
->  our plane of universe .... or if he thinks that you'll need it ... he'll
->  give it to you ...:)
->  
->  George
->  

-- 
--------------- Codito, ergo sum - "I code, therefore I am" --------------------
raster@rasterman.com       /\___ /\ ___/||\___ ____/|/\___  raster@redhat.com
Carsten Haitzler           | _ //__\\ __||_ __\\ ___|| _ /  Red Hat Advanced
218/21 Conner Drive        || // __ \\_ \ | |   \ _/_|| /   Development Labs
Chapel Hill NC 27514 USA   ||\\\/  \//__/ |_|   /___/||\\   919 547 0012 ext 282
+1 (919) 929 9443, 801 4392   For pure Enlightenmenthttp://www.rasterman.com/ 



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