[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Window managers and GNUstep
From: |
Pascal Bourguignon |
Subject: |
Re: Window managers and GNUstep |
Date: |
Sun, 10 Feb 2002 08:10:27 +0100 (CET) |
> From: <anstouh@yahoo.com.au>
>
> Both AfterStep and GNU Window Maker make a reference to GNUstep on their
> webpages but neither use GNUstep (although they both store user data in
> ~/GNUstep). GWorkspace seems to have support for things normally left to
> window managers (a root menu, application launching stuff and the process
> list stuff).
>
> I was wondering if there was going to be a GNUstep window manager?
"May be".
It would be meaningfull in a pure GNUstep environment, perhaps like
SimplyGNUstep.
> Is that what GWorkspace is supposed to be in the end?
One thing that must be understood, is that window manager is a X
notion. When GNUstep is (will be?) running with other back-ends, there
would be no window manager.
GWorkspace is not a window manager, it's a mainly a file browser. You
can think of it as a GUI shell. The only feature it should take off
from WindowMaker is the dock.
If there was no WindowMaker to draw the window frame (title bar, grow
bar), it would be the job of the NSWindow class to draw this stuff. In
the case of GNUstep menus, it's actually done by the NSMenu class (or
one class that is hidden behind NSMenu, I've not looked at the actual
implementation), because WindowMaker does not provide exactly what is
needed for NeXTSTEP-like application menus.
In NeXTSTEP/OPENSTEP, the NSWindow class implements the window frame
drawing, while leaving a few things to the windowPackage.ps like
moving the window, so it can be done even when the application is
suspended.
Now, if the NSWindow class implemented this window frame drawing code
(and dragging/resizing of the windows), we could use a minimal window
manager or even do without any window manager.
BUT, the reason a window manager such as Window Maker is needed anyway
in a X environment, is to be able to run other X applications with at
least windows looking like on NeXTSTEP.
> GNU Window Maker seems to
> have some level of GNUstepity in it---a GNUstep application's appicon, for
> example, shows the main menu when you right-click it. Is it intended that
> GNU Window Maker be made to use GNUstep? (I don't know, some sort of merge
> between WINGs and GNUstep... although I guess WINGs will no longer be
> NGs then.)
Putting the window frame drawing in NSWindow, while clean, would not
remove the need to have it at the window manager level for the other X
applications. Then what would be the use to rewrite WindowMaker in
Objective-C with GNUstep? Note that even on NeXT, windowPackage.ps is
not written in Objective-C but in Postscript.
The menu shown with right click on a WindowMaker appicon is not "the"
main menu. It's a menu managed by WindowMaker, (Keep on top, Launch,
Bring Here, Hide, Setting..., Kill).
The menu shown with right click on a GNUstep appicon is the main menu
of this application.
Once again, the use of WindowMaker here is to provide functionaly
needed to run X applications. It had had to be modified to have good
integration with GNUstep applications, and things will probably still
evolve.
> Mostly, I like GNU Window Maker. There are some things about it---for a
> start, it doesn't have an identical look and feel---that I'm not too fond
By default yes, I don't like it either. But you can revert to good old
NeXTSTEP look with WPref.app (eight pane, Titlebar Style).
> of, and things like how GWorkspace has the fiend and GNU Window Maker has
> the clip. I wouldn't mind seeing the two brought together (although they
> don't necessarily have to be the same application, they could just work
> together.)
>
> Tristan
--
__Pascal_Bourguignon__ (o_ Software patents are endangering
() ASCII ribbon against html email //\ the computer industry all around
/\ and Microsoft attachments. V_/ the world http://lpf.ai.mit.edu/
1962:DO20I=1.100 2001:my($f)=`fortune`; http://petition.eurolinux.org/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/IT d? s++:++(+++)>++ a C+++ UB+++L++++$S+X++++>$ P- L+++ E++ W++
N++ o-- K- w------ O- M++$ V PS+E++ Y++ PGP++ t+ 5? X+ R !tv b++(+)
DI+++ D++ G++ e+++ h+(++) r? y---? UF++++
------END GEEK CODE BLOCK------