NeatWindow Pie Menu Window Manager for NeWS - May 1988

I released the source code for a NeWS window manager based on pie menus, called NeatWindow (source).

Date: Wed, 11 May 88 02:31:51 EDT
Subject: class NeatWindow From: Don Hopkins <>

Here is a window class with window managment menus designed to work well with pie menus. You should of course have loaded up before running this. Just psh it into your environment, and the DefaultWindow will be set up so that the next window you get will be a NeatWindow! Fire up a clock or something, pop up the frame menu, and play around! I am not including any instructions right now, because I would like to hear what you think of it after trying to figure out what the menus do on your own. (heh heh heh -- the code is free but you gotta be a guinea pig!) This is experimental, so I'll be coming out with a more refined version later. If you'd care to answer the following questions after playing around with the NeatWindow menus, I'd really appreciate it!

- Which functions were obvious by their direction, or their labeling?

- How would you change the labels to make their meanings clearer?

- Why do you think the selections are arranged the way they are?

- What mnemonic tricks can you think of to remember the selection directions?

- After using them for a while, which selections do you find yourself mousing into without looking at the menu?



Date: Thu, 26 May 88 03:44:54 EDT
From: Don Hopkins <>
To: mwm@violet.Berkeley.EDU
Subject: Here go the windowing system wars...

Date: Wed, 25 May 88 12:29:32 PDT
From: Mike (I'm in love with my car) Meyer <mwm@violet.Berkeley.EDU>

Have you ever used X. Right now I am using X (version 10r4) and it feels like similar in some respects to a mac... I like the interface... especially since it is user configurable.

User configurable -- but not user extensible!

First, X isn't a user interface - it's a toolkit. There are multiple windom managers that run on it.

X isn't toolkit - it's a window system! There are multiple toolkits that run on it!

(But wait -- it's a desert topping! No -- it's a floor wax! Oh yeah? Yeah! Thwap! Bonk! Oh, oh! I'll go get the speci-pack!) c(-;

Every X window manager I've ever used (all 10r[24]) was more frustrating than anything else. Of course, they did "feel like similar in some respect to a mac" - to about the same degree that CPM "feel like similar in some respect" to Unix. Those managers that were user configurable were never configurable to any degree that mattered. None of them gave you function keys, and none of them would let you use a mouse event to do something without stealing that event from applications.


With X11/NeWS you will be able to write your window manager in PostScript (or rather, an extended PostScript based language), and it will be able to manage you NeWS windows AND your X windows. For an example of what a PostScript window manager can do, grab a copy of my pie menu window manager for NeWS 1.1, and take a look and feel free! (ftp to, login as anonymous, cd NeWS/hacks, get and, and psh 'em into your NeWS server.)


Date: Fri, 20 May 88 09:46:29 EDT
From: Eric Marshall <>
Subject: Re: class NeatWindow

Neato indeed.

First let me start off by saying that I think what your neat window software did was to change the textual pie menu selections with graphical selections. Assuming that's correct, on to the evaluation! Here are the questions who wanted answered.

Which functions were obvious by their direction, or their labeling?

With only one exception, all of the selections did what I thought they would do. I did not recognize the redraw operation.

How would you change the labels to make their meanings clearer?

I think the redraw selection is fine, I'll just have to remember what it means.

Why do you think the selections are arranged the way they are?

The positional selections, e.g. corners or sides, are obvious. Selections like zap, redraw, etc. I don't know.

What mnemonic tricks can you think of to remember the selection directions?

I think they are fine.

After using them for a while, which selections do you find yourself mousing into without looking at the menu?

All of them.

And now for some silly philosophy about pie menus.

I think pie menus are very good when the user is familiar with the contents of the menus, as there is a constant selection time for all of the menu elements. This supports those "expert" users out there. The disadvantage to the textual-based menu selections is that the menu text is difficult to browse through. Most people are not accustomed to reading in circles. This is were the neat windows are a benefit. Using the graphic representation, I am able to comprehend an entire menu with only a single image of it. As with any graphic-based representation, there is never going to be easily understandable icons for everything (text isn't perfect either, but for practical purposes it is). This has always been the downer for icon-based stuff, and I don't know if good general purpose solutions will ever be found. I am looking forward to your future updates.

Eric Marshall
Software Productivity Consortium
1880 North Campus Commons Drive
Reston, VA 22091

Date: Sun, 5 Jun 88 03:11:10 EDT
From: Don Hopkins <>
Subject: class NeatWindow

Sorry about the slow response time -- but now exams are over and I'm free for the summer!!

Thanks a lot for your feedback about! I'm glad to hear you found it comprehensible and easy to use.

I agree with your remarks about how it's easier to browse graphical labels than textual ones, when they're arranged in a circular layout. Text labels also tend to take up more horizontal space, and waste vertical space. (Some textual pie menus would be better off oval than round.)

It certainly is hard to choose meaningful icons. Several people have remarked that the closed eye (for close icon, a cheap visual pun I could not resist) looks like a hamburger, or something worse. The painting hand is pretty ambiguous. It actually looks like it's holding an Exacto knife, to me! Maybe just a paintbrush would be better. Or windshield wipers?

I just used the built-in NeWS icons for the neatwindow menus, instead of endevoring to designing my own. I didn't think any of the icons available could really express the concepts "Stretch...", "Move...", "Zap?", or "Reshape!" (although there were appropriate ones for the submenus), so I used text lables.

One nice thing about text is that you can use punctuation to give more information about the selection. "..." implies a submenu, "?" implies the selection must be confirmed, and "!" implies that the selection is a command. Maybe a good submenu icon would be a miniature image of the submenu? That would work well for the stretch menu, I think.

What do you think of purely graphical labels, that when you point at them pop up descriptive text labels in the menu center?

It would be neat to have labels that highlight with animation, when you point at them. (i.e. the eye opens or closes, the "Move..." submenu icons slide in the appropriate directions, the "Stretch..." submenu rubberbands a rectangle in the menu, etc...)

I think animation as a form of feedback has a lot of potential. I've implemented a font selection menu, where you select a font family from a normal 4 item pie menu, and up pops a 2-dimensional submenu, where the direction selects one of four font styles, and the distance specifies the font size. You get dynamic animated feedback of the font family/style/size selection in the slice of the menu between the selected label and the center, i.e. if you choose the Times-Roman family from the first menu, and then move into the "Bold" slice of the submenu, a point size label appears, and as you move further out, it grows from "14 point", "16 point", to "18 point", etc, shown in Times-Bold, at those sizes, in that slice, so you can see just what the font will look like if you click the mouse button there.

Thanks for your philosophy about pie menus, and thanks again for the feedback! I'd like to hear what you think of after you've been using it for a while! Are there any items you don't use very often? Any items on the submenus that you'd like to have at the top level? What sort of mistakes do you typically make with them? What other kinds of window managment functions would you like to have on a menu? Can you think of any appropriate pictures to use instead of text labels? Any other comments would be appreciated! Thanks!