Re: "Close" on last window causes "exit"

Shaw Terwilliger (sterwill@postman.abisource.com)
Thu, 6 May 1999 01:33:38 -0500


On Wed, May 05, 1999 at 11:08:57PM -0700, Darren O. Benham wrote:
> On Thu, May 06, 1999 at 05:57:30AM +0000, Aaron Lehmann wrote:
> > Even though opening a new window might be more innovative, it is
> > inconsistant with the programs operating on the same platforms. On X11,
> > people expect to have the app close when the last window is closed, ditto
> > with Windows, so it would really confuse users to do it differently. Maybe
> > there should be an option in the preferences?
> >
> Not necessarily true. I remember working on a few windows applications
> (amipro comes to mind) that didn't close the program when close was
> chosen...
>
> And I just tried Word97. It doesn't pop up a new blank document but it
> also does not close the application. It waits for another document to be
> loaded...

These are all MDI applications (multiple document interface), where
the user's documents are housed within a space-wasting top-level
window which represents the idea of the "program" to the user (close
the top-level, program's gone). We chose to use SDI for a few different
reasons:

Unix is used to SDI (MDI is nigh impossible in X; X just
isn't built to "contain" windows within other windows. Doing so
is a major hack--see StarOffice).

For the church secretary user, AbiWord will act like the app
probably most familiar to today's users... the web browser.
We're lightweight, and automatically leech onto existing processes
(in Windows) when launched a second time, so we basically act
like Internet Explorer or Netscape. Lots of people are now
familiar with this concept of computing and less so with MDI.

Again, X makes this very hard and ugly.

My opinion time:

Personally, I don't like MDI applications. I think they just waste space
that could be better used by other applications. I usually run
X at a resolution of 1600x1200. If AbiWord was an MDI applicaiton,
and I wanted to open 2 documents and view them both at 100% zoom
but not overlapped (side by side, maybe staggered), all that
extra space which used to be free for other apps (status utilities,
xterms, Netscape windows, whatever) is now just a background I can't
do anything with. It covers up good real-estate (and possibly a pretty
background image). I use 10 virtual desktops (workspaces) to seperate my
activities across logical task boundaries, and they persist throughout the
days or weeks or months I'm doing a specific task (unless I happen to
shut down X for some reason), but I'd rather not have to allocate workspaces
betting each one will want an entire workspace for itself just to be
usable.

As for what we should do about the last window? I don't know. It
seems pretty logical to me now. For the Windows case, we can leech
onto existing processes (thanks to work from Jeff) so the user doesn't
really have two processes running. Doing this in Unix is possible, but
probably not worth the effort (the average Unix user will probably be
comfortable with the concept of processes and job control). If my
assumption here is invalid, maybe I'll take a look at passing a
signal to an existing process running as the current user (if
on the same X display and visual) to open a document in the existing
process instead of a new one.

When our Mac port works, I expect it would act just like a normal
Mac application (close all the windows you can, but until you actually
exit from the process it's still running). Doesn't BeOS act like
Windows in this respect (close out the windows and usually things
are done)?

-- 
Shaw Terwilliger


This archive was generated by hypermail 1.03b2.