On menubars, toolbars, and everything.



Some comments on menubars, toolbars, etc.:

I've come to like the menubars/toolbars in MS DevStudio (VC++) 5. There
are quite a few things I dislike about them (and, as a whole, I dislike
the program -- keyboard shortcuts are practically useless in the thing,
due to the way they mismanage the input focus!), but there are some
really good ideas.

I like being able to put arbitrary items on the toolbars, including menu
items (and similarly, putting buttons on the menubar). Unfortunately,
they don't quite generalize this enough and the menubar is still
distinguished and "special" -- you can't disable it, move it around in
the same way as toolbars (IIRC), and it looks a bit different.

But really, menubars are just a special case of toolbars, or, perhaps,
toolbars are just a generalization of menubars. Having toolbars
(menubars) moveable, dockable, etc. is great, though I would like more
control over certain things (e.g., when a toolbar docks to the side of
the window and when it floats). A "pushpin" type thing would be
terrific.

However, I'm not writing to say how great their implementation is. The
most important thing about them is that they generalize in wonderful
ways. Start with a menubar. Instantly get a NeXTstep-style floating menu
(well, sort of NeXT-like). Instantly get tearoff menus. Instantly have
the ability to put what you need where you want it.

You can't do this in DevStudio, but it would be great if you could tear
off, say, the "Edit" menu, and turn it into a floating menu. And then
you could dock it to the side of the window and get an instant "Edit"
toolbar (perhaps setting an option so it displays icons instead of words
-- or perhaps the menus should display both icons and text, so we'd just
be disabling the text).

Do this in a sufficiently flexible way and we have a way of changing the
UI later. Want pie menus in all your apps? Presto. Got them.

Of course, this sort of thing should be settable on a global basis as
well as an app-by-app, case-by-case basis.

Toolbars and menubars should be customizable too. This should be done in
a consistent way. Write a toolbar/menubar (after all, they're the same
thing) editor once, and get customizable toolbars and menubars for all
applications.

It's tempting to integrate this sort of stuff with standardized
scripting, but I'm not sure how that would work and if we'd want that.
(Hmmm... we could do this all using Guile.)

There are other benefits as well: More consistency, more
customizability, easier internationalization, and, once it is done, less
work for the programmer (i.e., here are the "commands" I want available
to menubars and toolbars and here's a default layout -- done!).

I apologize if people are already working on something like this. These
are simply my ideas and my suggestions.

- Trung



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]