#amoebaOS

Connecting...
Say Hello ▶

Introducing the Menu Bar

Jun 18, 09

Since a picture is worth 1000 words, let's keep this brief. amoebaOS was created without a unified System Menu - a design decision that is interesting, but perhaps was not the best approach to simplification. So, now we're introducing the new unified menu bar. Located at the top of your screen, there are a ton of customization options and command-line flags. For example, the picture below shows the menu bar as 100% opaque (not transparent). This is but one of the many options - you can also choose to have a transparent bar (-transparent), or you can set the opacity value yourself (--opacity=50 or -opacity 50). Also, you can choose to have the icon represent the active program, window, or the default OS icon (please note, the image below is of the beta version - the icon seen is not necessarily that of amoebaOS or any particular application).
One of the nice features of the menu bar is how it groups application windows. Until now, every window has been treated as a separate application. With the menu bar (and new keyboard shortcuts), there is a difference between "Quit" and "Close" - similar to that of Apple's operating system.  Taking a look at the Window menu (above), you will notice the symbols used: the flag indicates the main window of an application, or the window that is managing the application's Quit and processing functions. The diamond symbol indicates the active window (along with the associated menu item being disabled, because that window is already in focus). There are a couple of other symbols of less significance.

The addition of this system-wide menu doesn't impact current applications written without menu interactions. If there are no menu items or Toolbars used in a window, there will be no custom menu items shown in the system menu. If an application uses Toolbars, but does not explicitly specify menu items and their actions, the toolbar items will be duplicated in the system menu - when clicked, the menu items mimic a click within the bounds of the associated ToolbarButton. Finally, if an application explicitly defines it's menu items, only those menu items will be displayed in the system menu (in addition to the default two menus). For this reason, defining menu items with the label "Window" or where the label matches the application's name is disabled.

In order to make an application function correctly with the System menu, the programmer should use the Application.spawnChildWindow method instead of creating new Application instances. If you are not partial to this method, you can do exactly the same thing by creating a new Application with the same name as the original. After it has been created, you should set the window title using the Application.setTitle method - do not include the application name in your window titles, because it is already displayed in the system menu.  In this way, applications are grouped by name, and windows of an application are differentiated by their title.  Previously, these two values were treated as the same - this is no longer the case, and should not be relied upon.

About :

Comments
Laura#
Wow, the interface looks more delicious in every picture. It looks like these menu bars will add a lot more usability to amoebaOS (..which I hope will have a beta release soon!) Are they theme-able?
jason#
They are themed by the Window Manager, so all of the window themes are now also menu bar themes.
Jacob#
I've seen the pictures. Just like Mac OS in every way. I just need an account to use it.
jason#
The design of the OS was inspired by Apple's wonderful desktop Operating System, but you'll find there are a number of differences once you start using ours. It's essentially a nice mix of all the things we liked from each of the major desktop Operating Systems that are available, and a few new features you may not have seen. I believe I mentioned in another comment, you can register for the forum to have your name added to our beta invites list.
james0vince#
This looks lush dude, I so need to get in a play, Please gimme a beta code! :(
Leave a Comment

Post Comment