@database StartMenu @author "Martin R. Elsner" @index smindex @node Main "MRE StartMenu 1.20 Guide" @{b} MRE StartMenu Version 1.20 @{ub} @{b}For beginners@{ub} o @{" What is StartMenu " link whatis } Read this first o @{" System requirements " link req } What you need o @{" Licence " link licence } What you may do @{b}Installation and configuration@{ub} o @{" Installation " link install } How to install it o @{" After install " link after } What still has to be done o @{" StartMenuPrefs " link smp } How to adapt it o @{" Menus " link menus } Creating your menus o @{" Options " link options } Changing some parameters o @{" Skiplist " link skiplist } How you can exclude windows/screens o @{" Shortcuts " link shortcuts } The nice images to open programs ... @{b}Using StartMenu@{ub} o @{" General notes " link using } How to use this tool o @{" The bar " link bar } What you can see and do o @{" The menu " link menu } The menu items @{b}Additional functions@{ub} o @{" Commodity commands " link cx } The Commodity port and commands o @{" Arexx commands " link arexx } The ARexx port and commands o @{" Modules " link modules } What they are, how you can use them @{b}About the program@{ub} o @{" History " link history } Since the beginning... o @{" The author " link author } Who wrote this program o @{" Greetings " link about } To all who helped ! o @{" Known bugs " link bugs } Nobody is perfect o @{" The future " link imp } What should be added in the future @{" Index " link smindex } See button on the top @endnode @node smindex "Index" @{b}A@{ub} @{" ARexx commands " link arexx} @{" Author " link author} @{b}B@{ub} @{" Bugs " link bugs} @{" Buttons " link buttons} @{b}C@{ub} @{" Commands (internal) " link internalcom} @{" Commodity commands (all) " link menu} @{" Commodity commands (own) " link cx} @{" Configuration " link smp} @{b}F@{ub} @{" FTP " link ftpmount} @{" FTPMount " link ftpmount} @{" Future Improvements " link imp} @{b}G@{ub} @{" Greetings " link about} @{b}H@{ub} @{" History " link history} @{b}I@{ub} @{" Installation " link install} @{" Internal commands " link internalcom} @{b}L@{ub} @{" Licence " link licence} @{b}M@{ub} @{" Menu (usage) " link menu} @{" Menus (prefs) " link menus} @{" Modules " link modules} @{b}O@{ub} @{" Options " link options} @{b}R@{ub} @{" Requirements " link req} @{b}S@{ub} @{" Settings " link options} @{" Start modes " link modes} @{" StartMenu " link whatis} @{" StartMenuPrefs " link smp} @{" System Requirements " link req} @{b}V@{ub} @{" Variables " link vars} @{b}W@{ub} @{" Warranty " link licence} @endnode @node whatis "What is StartMenu ?" @{b}What is MRE STARTMENU ?@{ub} @{b}StartMenu@{ub} is part of MRE, the Mainmenu with Reaction Enhancements; it's in fact the main program, the menu itself! @{b}StartMenu@{ub} is a menu known from other platforms and also seen on Amiga as realized by Workbench2000, StopMenu and other great software. Its main task is to provide a nice and fast interface to start you favourite programs, built as a menu tree to make orientation easier. As all MRE modules, @{b}StartMenu@{ub} is localized. Additional languages are available via separate archives that are published on Aminet and at the @{" author's homepage " link author}. See also @{" Technicals Infos " link infotech} @endnode @node req "System Requirements" @{b}Requirements@{ub} o Amiga OS 3.5 or greater o Popupmenu.libary, included and available at http://www.boing.nu/pm/index.html Recommended: o Amiga OS 3.9 with BoingBag2 o A high resolution like 1024 x 768 o More speed, like a 68060 or more ... @endnode @node cap "Configuration" @{b}Configuration@{ub} All the configuration is done with StartMenuPrefs. You don't have to edit tooltypes or config files, just start StartMenuPrefs - for example from the clock menu - and change the settings. You can choose between the following parts: o @{" Menus " link menus } Here you can configure your own tree of programs that will appear if you click the start button. o @{" Options " link options } Some global properties of the StartMenu bar and menu, the way StartMenu works and how it looks. o @{" Skiplist " link sliplist} If you don't want to see all windows and screens in the bar, go here and that them. o @{" Shortcuts " link shortcuts } Add, remove and sort the shortcut icons right to the start button. The menu has items known from standard preference programs: @{b}Project:@{ub} o Open... - open a definition file from somewhere on disk o SaveAs... - save a definition file to a file o Help - show this manual @{b}Edit:@{ub} o Reset to defaults - is not yet implemented o Last Saved - loads the settings you have last saved in StartMenuPrefs o Restore - resets the settings to the state as you started StartMenuPrefs When you have done all changes, use @{b}Save@{ub} to make this the standard for StartMenu, or @{b}Use@{ub} to try it only this session (until you reboot). @{b}Cancel@{ub} or the close button will discard your changes. @endnode @node menus "Menus" @{b}Menus@{ub} This part of StartMenuPrefs allows to define the tree of menu entries that will be shown in StartMenu. Each entry is either a command that will be executed when you click on the entry, or can contain a submenu that will be opened when the mouse is over this item. You can add and remove entries with the buttons on the left bottom. Move them with the arrows to the correct place. @{b}Menu items@{ub} After adding an entry, specify a short name. This is the text you will see in the left lister and finally in the menu itself. The most important part is the command itself: first decide, if you want to start something by Cli (CLI), by Cli without a window (QuietCLI), by Workbench (WB), as ARexx script (ARexx) or as @{" internal command " link internalcom} (Internal), see @{" modes " link modes}. The mode selector also allows to choose "Menu" what creates a new submenu that has no associated command, but also an icon. If you don't want to define a submenu, choose the command. You have several possibilities: o Enter the command in the string gadget. o Click on the button right to the string gadget and then search for the program you want to insert. o If you want to use an internal command, click on "Internal commands" and select the one you want. For CLI and QuietCLI you can enter a stack, for CLI also a delay; the delay is the time in seconds after which the CLI window is closed, if you enter -1 the window will stay open until you close it yourself. @{b}Icon@{ub} Each menu entry may possess an icon that is drawn left to the menu name. Click on the left button to choose one, or on the right button to open a workbench window with the StartMenu icons - you can simply drag an icon over the panel in the window! See also @{" Internal Commands " link internalcom} @{" Modes " link modes} @endnode @node options "Options" @{b}Options@{ub} Some StartMenu features are configurable. To change them, just start StartMenuPrefs, adjust the options and use "Save" or "Use". Remark: If you have changed the options while StartMenu is running, StartMenu will restart to use the new settings. This will also affect menus on other screens. This is the list of available options. Some are switches and get a hook if you click on them, some have values that can be modified by a click. @{b}General:@{ub} Public screen Perhaps you use another screen and want to start StartMenu on this public screen. If you know its name, just enter it here and StartMenu and StartMenuPrefs will use this screen instead of the workbench. If no name or "Workbench" is entered, the Workbench will bes used as usual. Remember that StartMenu may open on some screens automatically. Open on other screens StartMenu opens on the Workbench or on the screen specified by the public screen option. If you want StartMenu to open also on other screens if you have some, set this hook. Only the first StartMenu (the one with the port STARTMENU.1) can open on other screens, all other menus are childs of this instance. Show windows Show unnamed windows Show screens In the StartMenu bar, you can have a list of buttons for each open window or screen. Toggle these hooks to hide all windows, only unnamed windows or all screens. Fast menu Normally StartMenu opens the menu tree only if you click on the start button, but with this option turned on you can open it by moving the mouse over the button! Popup distance Hide distance If the menu isn't always visible, you can specify here the distances when to show the bar and when to hide it; the popup distance is the distance in points from the screen bottom, and the hide distance is the distance in points from the upper edge of the bar; if you have switched on "on top of screen", they concern the screen top and the bar bottom. Menu close distance This is the distance in pixels that you must move the mouse away from the open startmenu or any submenu to close it. Set it to a big value if you only want to close the menu by a mouse click. Overlapping If you don't change this setting, StartMenu will open each submenu right to the parent menu, but you can enter a number that will be the amount of points the submenu overlaps the parent one. @{b}Appearance:@{ub} On top of screen If you really want to open the menu at the screen top, you may do it here ;) Always visible I advise to turn this on because StartMenu then shows its information the whole time. Else it will open as soon as the mouse is near the top or bottom screen border, depending on the setting "on top of screen". Always in foreground If you have turned on "always visible", then windows may hide the startmenu. You can turn this switch on to bring the bar again to the front. This option can cause some problems, so use it cautiously. Show background Background pattern Show menu background Menu background pattern If you set the hooks, the background patterns are used to fill the bar or the menu rather than the specified colours. Any file that is supported by your datatypes can be selected. Icon Width This width is used as the width of the icon column in each menu. If you use smaller or bigger icons, or want to have a smaller or bigger space to the text, change this value to your needs. Window button width Buttons transparent Space between buttons You can decide how wide the window buttons in the bar shall be (if too many buttons are displayed, the width is reduced automatically), if they shall be transparent and if you want to have some space between these buttons. . @{b}Fonts:@{ub} Specify your favourite fonts for the menu, the window buttons and the clock. @{b}Colours:@{ub} Specify your favourite colours: Use standard Don't use the values here but the built in ones. Bar: the bar background Logo bar: the bar in the menu above the logo Menu: the menu background Active item: the item under the mouse Menu font active: the font colour for the item under the mouse Menu font inactive: the font colour for any other item Window button: the window button background Window button font: the font colour inside the window buttons Screen button: the screen button background Screen button font: the font colour inside the screen buttons Active button: the background of the active button Clock font: the font colour of the clock display @endnode @node skiplist "Skiplist" @{b}Skiplist@{ub} There may be some windows or screens that can be open but shall not be shown in the bar because they can't or shouldn't be activated and brought to front. As first solution, you can avoid that unnamed windows are displayed by removing the hook at "Show unnamed windows" in the section @{" options " link options}. But if you want to exclude single windows, you can add them to the skiplist. There are 3 possibilities to do so: o Click on "Add" and enter the name of the screen or window that shall be hidden. You can use standard pattern symbols like #, ?, | etc. o Click on "Add window" and choose one of the listed windows. It's a list of the open windows, so the window you want to hide should be open. o Click on "Add screen" and choose one of the listed screens. Like the windows, all open screens are displayed. You don't have to add the screen where StartMenu runs, this screen is never shown in the bar. @endnode @node shortcuts "Shortcuts" @{b}Shortcuts@{ub} You can add icons to the bar as shortcuts for often used programs. This is very easy: Click on "Add". You are asked for a program to start, and for an icon that shall be displayed. The new entry appears in the list, and a preview of the icons is shown at the bottom. You can move the icons up and down, and you may change the entries with a double click on the property you want to change. @endnode @node modes "Modes" @{b}CLI mode@{ub} If 'Cli' is choosen, then when selecting the action, the action will be launched from a cli and the stack size of the cli will be determined by the stack value (default is 4096). The run mode Cli will only open a Cli if it's needed (if the executable displays something). You can define the delay property for CLI: If Delay is negative (i.e. Delay = -1), the Cli will wait until you close it by hand with the close gadget in the top left of the window. If Delay is zero (i.e. Delay = 0), the Cli will close itself as soon as the task is terminated. If Delay is positive (i.e. Delay = n with n>0), the Cli will wait n seconds before closing itself, but you can force the Cli to close by clicking the close gadget. The dimension of the used Cli can be found in the ToolType CLISIZE. @{b}WB mode@{ub} If 'WB' is choosen, then no cli will be opened, and StartMenu will simulate a Workbench launching of the action. The first string will be considered an icon, and the next arguments are handled as if they would have been dropped on the icon. WARNING : this mode is only valid with files that have icons. On some system this mode makes problems when used on a directory. @{b}Quiet CLI mode@{ub} If 'No Cli' is choosen, no cli will be opened even if the program displays something, but the task is still running from a CLI. @{b}AREXX mode@{ub} If 'Arexx' is choosen, it will launch rx with the given exec command. Exec command MUST be an arexx script. Of course RexxMaster should be Active and Rx in the directory Sys:rexxc/ to work. @{b}INTERNAL mode@{ub} StartMenu has some built in @{" commands " link internalcom} that you can call. With them you can transfer the program itself. See also @{" Internal commands " link internalcom} @endnode @node internalcom @{b}Internal commands@{ub} StartMenu has some built in commands that you can call. COMMODITIES Creates the commodities submenu QUIT Leave StartMenu @endnode @node imp "Future Improvements" @{b}Future Improvements@{ub} Well, there are many proposals, but some need a lot of time, some make the program very big or slow, and some are only interesting for a small group of users. What could be implemented: o More drag'n drop support. See also @{" Contact " link author} @endnode @node about "About" @{b}Current StartMenu team:@{ub} Planing, development and coordination: Martin R. Elsner Graphics: Martin Eriksson (the other Martin ;) Beta testers: Christian Aichinger Jan Britsch Jean-Pierre Riviere Jimmy Sulter Jocke Sjöblom Martin Eriksson Patric Hofmann Rolf Max Rotvel Stefan Funke Translators: Arturo Franzin (Italian) Bigo (French) Javier de las Rivas (Spanish) Martin R. Elsner (German) Márton Dósa (the Hungarian Martin ;) (Hungarian) Pawel Goldyn (Polish) Remco Komduur (Dutch) Sinan Gürkan (Turkish) @{b}I would like to thank the following people for their contribution to StartMenu:@{ub} o all the users who sent me emails and told me their opinion (if I have forgotten to add your name, please don't be sad ;) o Dietmar Eilert for the great GoldED which I use for programming @{i}Martin@{ui} @endnode @node Author "The Author" @{b}You can contact the author at the following address :@{ub} Martin R. Elsner Müsener Straße 46 57223 Kreuztal Germany Web: http://www.martin-elsner.de E-Mail: email@martin-elsner.de @endnode @node using "Using StartMenu" @{b}Using StartMenu@{ub} Most elements are known from other programs and similar to use; some special features or bugs are explained here. StartMenu consists of two main parts: the @{" bar " link bar} that provides shortcuts, window buttons, the clock and last but not least the start button for the second part, the @{" menu " link menu}. Changing the menu and the behaviour of StartMenu is possible in @{" StartMenuPrefs " link smp}, there you can make the program look and behave like you want. See also @{" ARexx Commands " link arexx} @{" Bar " link buttons} @{" Configuration " link smp} @{" Menu " link menu} @endnode @node bar "The bar" @{b}The bar @{ub} The StartMenu bar consists of the following parts: At the left edge there is the start button. You can open the tree menu by a click on this button or - if you have switched on "fast menu" - by moving the mouse over this button. The next area is used by the shortcuts. Shortcuts are a fast and easy way to start often used programs. They consist of an icon and an associated program. The biggest part is covered by the window and screen buttons. They show all or a part of the open windows on this screen and all or a part of other open screens. You can tell StartMenu to skip some windows or screens, and you can toggle the display of nameles windows and screens. The button for the active window is drawn in a special way. If you click on a button, the window or screen is brought to the front an activated. If you click on the image at the left of a window button, you will get the possibility to show, hide or activate this window. At the right edge there is the clock showing the actual time (hours and minutes). If you move the mouse over it, the date will be shown (day and month - I assume that you know the year ;) The clock is not only a display, you can click on it; that will open a popup menu that allows to quit the program, but you can also start StartMenuPrefs and all the MRE modules there !! Notice: there is a second way to quit StartMenu in cases where you can't access the Quit menu entry: open the startmenu and press 'q'. This is an inheritance from Choowin ;) See also @{" Menu usage " link menu} @{" StartMenuPrefs " link smp} @endnode @node menu "The menu" @{b}The menu@{ub} Well, what shall I say ?? If you click on the start button or move the mouse over it, assuming that you have set the "fast menu" option, the root menu will open. You can move the mouse to look for the entry of your interest; as soon as you move the mouse into the right half of the menu, a submenu will be opened if there is any for the item under the mouse. So go left to move fast, right to move to the next menu level. StartMenu will try to detect your thoughts and will try to close the menu tree as soon as you don't want it any more. So if you want it to be closed, move the mouse far away or click on something like a window. If you click on the workbench, the mouse may hang a while due to the workbench design. To change the menu, start @{" StartMenuPrefs " link smp}, for example via the clock menu. @{b}Special menu items@{ub} In the menu there can be a menu item named "Commodities". This opens a submenu with all running commodities and the possibility to send some commands to them: Show/Hide will toggle the visibility of the commodity. In some cases you will get its preferences editor. Activate/Deactivate will toggle the activity of the commodity. Kill will end the commodity. See also @{" Menu configuration " link menus} @endnode @node infotech "Technicals Infos" @{b}Technicals Infos@{ub} StartMenu is developped in C++ with StormC 3.0, using ReAction. It's real C++ with some nice classes for ARexx, the menu, the preference files, ... Contact the author if you want to look into the source code. StartMenu uses a timer to react on opening and closing windows and screens, and updates the clock each minute. So buttons appear and disappear some seconds after the window or screen. All graphical objects in StartMenu and StartMenuPrefs are constructed with Reaction and BOOPSI objects. That means that they are system friendly and system compatible. Miscelleaneous info : The prefs file is an ASCII file named ENVARC:StartMenu.prefs Disk libraries required : popupmenu.library @endnode @node Install "Installation" @{b}Installing@{ub} Use the installer script given with the archive. To use it, just click on the install icon. You will then have to run StartMenuPrefs to adjust StartMenu. See also @{" After Install " link after} @endnode @node licence "Legal words" @{b}Copyright@{ub} As the most modules of MRE, StartMenu and StartMenuPrefs are © 2002 by Martin R. Elsner. MRE is freeware. The package may not be altered in any way and cannot be used for commercial purposes without the prior written permission of the author. The copyright message should be preserved. PD Distributors are allowed to include MRE packages into their collection as long as they let me know that they have included it. I then advise to include all the modules and locale archives available at that time. @{b}Warranty@{ub} No responsibility or liability will be accepted for any damage that may appear to have resulted from use of this program. All use is at your own risk. The software is provided "as is" without any warranty implied or otherwise to the fitness or accuracy of the software and documentation. The documentation is believed to be correct but the author reserves the right to update the software and/or documentation without notice. See also @{" Bugs " link Bugs} @endnode @node History "History" @{b}History@{ub} @endnode @node cx "The Commodity Commands" @{b}Own commodity commands@{ub} StartMenu has a commodity port called : StartMenu.1 If it opens on other screens, there are also the ports StartMenu.2 ... StartMenu.n This means that you can control StartMenu for example with Exchange: Use Show / Hide to toggle the visibility of the bar and Kill if you want to close StartMenu. See also @{" Controlling commodities from StartMenu " link menu} @endnode @node arexx "The Arexx Commands" @{b}ARexx Commands@{ub} StartMenu has an Arexx port called : STARTMENU.1 If it opens on other screens, there are also the ports STARTMENU.2 ... STARTMENU.n This is the list of all the Arexx commands : ====================================================================== Quit Quit StartMenu ====================================================================== Use Force StartMenu to reload the prefs file. This is executed from StartMenuPrefs after changes to the prefs file. ====================================================================== @endnode @node after "What should you do after install" @{b}What now ?@{ub} After the installation, you should have a working StartMenu, you can start it and activate windows as you like, but the menu only consists of only some example entries and not of your own programs. It's up to you to define menu items and submenus regarding to your system and the prefered programs you use. Just start StartmenuPrefs and configure it for your convenience... If you don't know how to configure StartMenu, just read this guide :)). See also @{" Configuration " link smp} @endnode @node bugs "Known Bugs" @{b}Bugs ??@{ub} o There can occur some problems when DirectoryOpus is installed, because not all workbench functions are accessable. o As StartMenu updates the clock and the buttons even when you are working with other programs, some problems can appear: for example an icon that you are just dragging can disappear, or the mouse can stop some seconds after clicking on the workbench. If you realize an error, contact @{" me " link Author}. See also @{" Author " link Author} @{" Warranty " link licence} @endnode