Re: How to keep windows from maximizing over the panel



George wrote:
> 
> On Tue, Sep 15, 1998 at 05:52:04PM -0400, raster@redhat.com wrote:
> > also we have to think now about the corner panels - if you have more
> > than one panel etc.. how do we consider their gemoetry sicne corner
> > panels ar3ent the full width or height of the screen but can expand to
> > that.. etc...
> 
> unless you want to do something incredibly smart or sofisticated it can be
> done quite easily .... consider corner panels to be equivalent to side
> panels for maximizing ....
> 
> I think another nice thing would be that if the panel is hidden so that only
> the hidebutton shows, it should be allways on top and the window manager
> should use the full area for maximizing and initial window placement ...
> 
> then again, this is a policy issue that probably should not be dictated by
> the panel, but by the wm ... the panel should only set the hints and let
> the wm do the thinking :)

Actually, there is a hint in gnome-winhints in libgnomeui that (at least
under icewm) allows a window to be set to the "Dock" layer, which means
the wm uses the geometry of the window to negotiate available screen
space for maximizing. If this hint were set on a panel window (and unset
when the window auto-hides) the wm would be able to resize windows to
fit the new screen dimensions.  There is another hint that allows  you
to set corner panels (and WM docklets) to horizontal or vertical
alignment for screen space negotiations.

I have attempted to implement this in the panel, but the nature of the
panel windows (override redirected) prevents the wm from being able to
"see" the panel windows. I once hacked up the panel to not
override-redirect, then I set the MWM hint for no decoration (a la the
handlebars), the XA_WIN_LAYER hint for "Dock Layer", and the XA_WIN_SKIP
hint so the panel did not appear in the winlist or tasklist. It worked
pretty well, Netscape maximized nicely between the panel on bottom and
the task list on top. The change was seamless, and it gives more end
user control over how the panel acts and looks, but the changes rendered
the panel ugly and unusable to non-XA_WIN_HINT compliant window
managers. Perhaps if there was some way to detect if a GNOME happy wm
was running, and use the hints if it is or override redirect if it is
not.

Max Watson <redline@intrex.net>



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