Re: My Little Wish List for Gnome





/-------- Quantum Seep, qseep@iname.com ---
  "His funny bone's connected to the M-bone"
   PGP fingerprint: 5B 3B 7B EC AA 5B 4B 7F  65 7D 2A CD 69 11 29 2A

On Wed, 13 Jan 1999, Jason Pellerin wrote:

> it might work better if it looked like this:
> 
> <menu>
> 	<menu_name>Internet</menu_name>
> 	<menu_location path="absolute">/Internet</menu_location>
> 	<menu>
> 		<menu_name>Browsers</menu_name>
> 		<menu_location path="relative">Browsers</menu_location>
> 		<menu_item>
> 			<item_name>Netscape</item_name>
> 			<item_command>/usr/local/bin/netscape</item_command>
> 			<item_icon>~/pix/ns_icon.png</item_icon>
> 		</menu_item>
> 	
> 	...
> 
> 	</menu>
> </menu>

That would work, too, but you need to have a mechanism for the user to
inherit defaults from the system menu as well, e.g.:

<menu>
<menu_name>Browsers</menu_name>
<menu_location path="absolute">/My Browsers</menu_location>
<menu_inherit>Browsers</menu_inherit>
</menu>

Or something like that.  We must be sure to distinguish between the *name*
of a menu element and its *title*.  Its name is an absolute identifier
while its title is the text that appears on the menu.  Its name should be
unique amongst all menu items.  The GUI can automatically generate a name
based on the title, appending a numeral if necessary to distinguish
between elements with the same title.

Using these names, we can uniquely refer to a menu element - that is,
either a submenu or a command item.  Hmm, it's starting to sound a lot
like GUI programming, eh?  Do we also need check boxes and panel applets
to appear as menu elements?  :-)

Anyway, in abstract terms we want the user to be able to specify, for each
element, whether it should inherit from a particular system menu element,
or specify a totally new element.  If it inherits, it can still override
characteristics of the system element from which it inherited.
Essentially, this is like prototype-based OOP a-la Self or NewtonScript.




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