Squeak culture and menus

lex at cc.gatech.edu lex at cc.gatech.edu
Thu Nov 4 04:58:14 UTC 2004


I'll leave aside platform conformance.  If you need it then you need it,
and if you don't, then read on.  Squeak's exclusive use of context menus
(barring UI goodies I obviously have not seen) certainly does not
conform to Windows, MacOS, or any of the Linux Windows-lookalikes.


Four reasons come to mind to use context menus:

	1. They are physically easy to access; unless we are talking about
context menus for very small items, you can click your mouse in the
general area and get a reasonable menu back up.
	
	2. They get out of the way when you aren't using them.  Every pixel
counts.
	
	3. They are context specific.  They can change in completely arbitrary
ways, while a toolbar-style menu would give you seizures if it did that.
	
	4. They can be put on everything.  This gives a nice general UI
approach where the main action of everything you see is accessed by the
left mouse button, but then you can use the context menu if you want to
do something less common.

There are downsides though:

	1.  It can be hard to provide a "main" menu for a window, which
contains items that *aren't* context specific.  There's no great place
to put it.
	
	2. It uses up yet another mouse button.  I'm sitting here with a
three-button mouse in Squeak, and it feels like barely enough.  I also
want a window-menu button and a secondary-click button, and I want to
keep the halo button.  Maybe halos can be mixed in with one of the menu
buttons, but that still adds up to four buttons.  Ack!

Lex



More information about the Squeak-dev mailing list