@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
