[comp.windows.x] Mac-style window managers in X?

mike@faline.bellcore.com (Mike A. Caplinger) (07/13/87)

Is there some accepted way to write a Mac-style window manager in X?
That is, each window would be surrounded by a border containing controls
to move, resize, delete, and iconify that particular window.  I've studied
the X11 protocol, but still don't see any way to do this short of:

1) forcing each application to link against a standard interface package,
which blows the whole notion of separate window managers out of the
water, or

2) possibly keeping track of all subwindow moves and resizes and manipulating
the window hierarchy so as to imbed a newly created window inside a window-
manager window providing the border controls.

Neither of these options seems attractive.  Am I missing something obvious,
or is this kind of interface just hard to implement in X?  Certainly
I know of no current window manager that behaves that way, and I can't
say I'm happy with the current window managers.

	Mike Caplinger
	mike@bellcore.com

RWS@ZERMATT.LCS.MIT.EDU (Robert Scheifler) (07/15/87)

    2) possibly keeping track of all subwindow moves and resizes and manipulating
    the window hierarchy so as to imbed a newly created window inside a window-
    manager window providing the border controls.

This is essentially the right thing, and isn't as bad as you think.  There are
already several X11 managers that work this way.

jg@jumbo.dec.com (Jim Gettys) (07/15/87)

In article <684@faline.bellcore.com> mike@faline.bellcore.com (Mike A. Caplinger) writes:
>Is there some accepted way to write a Mac-style window manager in X?
>That is, each window would be surrounded by a border containing controls
>to move, resize, delete, and iconify that particular window.  I've studied
>the X11 protocol, but still don't see any way to do this short of:
>
>1) forcing each application to link against a standard interface package,
>which blows the whole notion of separate window managers out of the
>water, or
>
>2) possibly keeping track of all subwindow moves and resizes and manipulating
>the window hierarchy so as to imbed a newly created window inside a window-
>manager window providing the border controls.


I don't know how hard it is to implement (Hania Gajewska and Mark
Manasse have been implementing it), but I am composing this response
under V11 using a window manager which provides title bars, and
various controls and icon management.  It also controls the input
focus.  It is vaguely reminicent of the Mac (which is reminicent of the
Xerox, etc..), so the answer is emphatically yes.  A very simple
subset prototype of this window manager is on the V11 beta distribution 
as "wm".  You might look at it for ideas of how to use the V11 facilities.

2) is the correct approach, and the one used to implement this window
manager.  1) is a very bad idea indeed.