Re: How to keep windows from maximizing over the panel




raster@redhat.com writes:

> On 16 Sep, George shouted:
> ->  On Wed, Sep 16, 1998 at 09:54:35AM -0400, Max Watson wrote:
> ->  > 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.
> ->  
> ->  from what I looked at the XA_WIN hints proposal, tehre should be a way to
> ->  query if the WM uses them ... can you send me your hacked code if you can?
> ->  I can see if I can work on it then ...
> 
> the Wm sets a property on the roto window:
> 
> xprop -root
> ...
> _XROOTCOLOR_PIXEL(CARDINAL) = 0
> _XROOTPMAP_ID(PIXMAP): pixmap id # 0x800014
> ENLIGHTENMENT_COMMS(STRING) = "WINID   800013"
> WIN_WORKSPACE(CARDINAL) = 0
> ENLIGHTENMENT_DESKTOP(CARDINAL) = 0
> WIN_WORKSPACE_COUNT(CARDINAL) = 16
> ATOM) = WIN_LAYER, WIN_STATE, WIN_HINTS, WIN_APP_STATE, WIN_EXPANDED_SIZE
> _MOTIF_WM_INFO(_MOTIF_WM_INFO) = 0x2, 0x54
> WM_ICON_SIZE(WM_ICON_SIZE):
>                 minimum icon size: 8 by 8
>                 maximum icon size: 48 by 48
>                 incremental size change: 1 by 1
> ...
> 
> notice the WIN_PROTOCOLS atom - :)

This is not a very good way of doing it, since stale properties can
(will) be left around when the window manager quits.

The better way is to set a property on the root window that points
to a window that the WM creates, and don't believe the root
window properties unless that window exists. (Properties
can also be set directly on the WM's window.)

In fact, there is even an exisiting "standard" for such a root
window property - _MOTIF_WM_WINDOW.

The contents of the _MOTIF_WM_WINDOW property are two CARD32's,
the first being flags, the second a pointer to such a window.
(The flags don't seem to be very interesting)

Regards,
                                        Owen



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