Home > Dashboard > GeoShell R4 > ... > GeoShell Services > Custom Menus
GeoShell R4 Log In | Sign Up   View a printable version of the current page.
Custom Menus
Added by geKow, last edited by Jaykul on Jun 12, 2006
Labels: 
(None)

GeoShell menus are defined in the registry and can be called up using HotKeys, plugin buttons (GeoMenu, GeoMenuLaunch, or EButton) on bars, or desktop mouse clicks.

Defining Custom Menus

Each menu is defined under the key HKEY_CURRENT_USER\Software\geO\geOShell\Services\Menu There should be some default menus defined there already, and you can follow their examples.

To create a new menu

  1. Open regedit, navigate to ...Geo/Geoshell/Services/Menu .
  2. Create a new subkey within Menu, and give it any meaningful name you want.
TIP
Special menu names allow you to access the menu via a click on the desktop Those names are combinations of: Rbutton , Mbutton , Lbutton and optionally Shift and/or Ctrl . For example, if you simply click the right mouse button, you will see the menu defined under the registry key Rbutton , if you are holding down the shift key, the menu name is RbuttonShift , if you are holding down the control key then RbuttonCtrl is used and if you have both pressed it's RbuttonShiftCtrl .

You now have a new, empty menu.

To configure your new menu

Menus consist of a list of regedit string values and keys, each named after a numerical value, starting with "0" (zero), that determines what order they appear in the menu. Sound confusing? It is at first, but follow these steps and it should start to make sense:

  1. In regedit, in your new, empty menu subkey, create a new string value and change its name from New Value #1 to 0
  2. Double-click the string 0 and for Value Data, enter the path to a folder, without quotes. (for example, C:\MyDocuments\... , although for the purposes of this tutorial you should probably pick a folder with very few files.)
  3. Click OK.
  4. Perform these same steps to create a second string value, this time named 1 pointing to a different folder.
  5. Now, we'll create a sub-menu for our menu. Create a new key within your menu, and name it 2 Once again, it is best to pick a folder with just a few files in it.
  6. Same as before, create yet another menu-style string value. However, since we are branching off of another menu, effectively starting a new one, we must start again at 0
  7. We're not done yet, however. We need to give this submenu its own characteristics. The following are optional string values for submenus that you can use to customize its appearance and function:
    Icon a path that references the icon you want to use for the submenu item in your menu.
    Name a string with the name you want to give your submenu.
    Folder Filter a comma-delimited list of file extensions you want included in the menu. The "dots" should not be included. Ex: jpg,gif,bmp or doc,pdf,txt,html
    Folder Display Subs a boolean value, which if FALSE (0) means that the subdirectories of the menu items will not be shown (geoshell boolean should be defined in the registry as a DWORD which accepts a value of 1 or 0, where 1 is "true" and 0 is "false")
    Display Without SubMenus a boolean value, which if TRUE (1) means that files in subdirectories will all be 'flattened' into one menu.
IMPORTANT!
  • Menu entries must be consecutive (0,1,2,3,4,...), starting with 0. If you miss one number, the menu won't work correctly!
  • You may not link directly to an application from within a menu, only to folders. (If you don't like this, holler on the forums and maybe someone will change it.)

You're done

Congratulations, you've configured a menu. You can use these concepts to modify the rbutton menu to your liking, or add the name of your menu (that you specified in "To Create A New Menu) to the Menu section of a GeoMenuLaunch button. What follows is reference information that you can use to add more power and flexibility to your menus.

Special values

There are two special things about the actual menu items (the REG_SZ values with numbers as names .. which are the actual menu items).

First:

You can merge menus by using a pipe "|" to put two paths into one menu item.
For instance, setting a value to
C:\myFolder|C:!AnotherFolder would create ONE MENU with all the items in myFolder and AnotherFolder. This even merges subfolders ... so if there was a folder C:\myFolder\images which had a picture called myface.jpg , and another folder C:!AnotherFolder\images with a picture called herface.jpg , the resulting menu would have one submenu "images" with two items: myface and herface.

IMPORTANT!

When you use the pipe to merge two paths into one, that menu will no longer auto-refresh if files are added to the folder, which means that to update it you'll have to recycle (which – due to a bug – will break any menus that were auto-refreshing). The current default start menu is done this way (with pipes) and therefore does not refresh ... here is a reg file which will fix this.

Second

You can use certain special key words instead of actual paths, or to get special menu items which you can't otherwise create:

The following are keywords which point to special paths.

TIP
These paths are configureable in HKEY_CURRENT_USER\Software\geO\geOShell\Services\Launch and if set to "standard" in there are automatically set. Note that erasing the values in ...Services\Launch (ie: setting "Favorites" to an empty, non-value, not deleting it.) will result in that keyword not actually doing anything if used in a menu (ie: it creates no menu items)
Common Start Menu The "All Users" Start Menu (not present on most 9x system). Commonly merged into one setting with "Start Menu", like desribed above
Start Menu Your username's Start Menu folder. Note, BOTH start menus leave out the "Programs" submenu, so you must add it seperately. Don't ask why.
Programs The Programs submenu which is purposefully left out of the Start Menu
Common Programs The Programs submenu which is purposefully left out of the Common Start Menu
Desktop Your user name's Desktop folder.
Common Desktop The "All Users" Desktop folder (not present on some 9x systems) Commonly merged into one setting with "Desktop" like desribed above
Favorites Your username's IE favourites folder
Documents Your username's "recently used documents" folder
Quick Launch Your "Quick Launch" Folder. Usually ...!YourUserProfileFolder\Application Data\Microsoft\Internet Explorer\Quick Launch

The following are keywords which create menu items with special functions:

About When clicked, pops up the GeoShell About dialog (useful for checking what version you're running).
Run When clicked, pops up the shell's RUN dialog
Logoff When clicked, starts the log off user procedure (windows creates a confirmation dialog).
Shutdown When clicked, starts shutting down windows (windows creates a confirmation dialog).
Recycle Creates a menu item to recycle Geoshell (same as pressing the Core_Recycle HotKey, usually Win|C
Properties When clicked, displays the "Display Properties" control panel.
Close Creates a menu item to close (exit) GeoShell. (same as pressing the Core_Exit HotKey, usually Win|X
NewGeoBar Creates a menu item to create a new empty geoBar(same as pressing the Core_NewHost HotKey, usually Win|H
Plugins Creates the plugins menu items (usually put this on it's own submenu .. it lists all the installed plugins, and if you click a plugin on the list, it will create a new GeoBar with that plugin on it instantly.
InstallPlugin Allows you to install a plugin. (same as pressing the Core_!InstallPlugin HotKey, usually Win|I
Tasks Creates a list of all the running tasks (same list as GeoTasks plugin)
Drives Creates a list of all the drives on your computer, plus a menu item for "My Computer"
Settings A few special "settings" related items: Control Panel, Printers, and Dial Up Networking .. which should open their respective items in your filemanager.
Sep Creates a separator line in the menu

Firing a hotkey when I click on the desktop with my mouse:

Yes, you can BindDesktopClicksToHotKeys

More menu examples

For more menu examples, look in your registry under HKEY_CURRENT_USER\Software\geO\geOShell\Services\Menu\...


Site powered by a free Open Source Project / Non-profit License (more) of Confluence - the Enterprise wiki.
Learn more or evaluate Confluence for your organisation.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.3 Build:#641 Jan 13, 2007) - Bug/feature request - Contact Administrators