@database AmiStart.guide
@rem $VER: AmiStart.guide 0.05 (11.01.02)
@font courier.font 13

@node MAIN
@title "AmiStart Documentation"

    AmiStart Documentation

    read important @{"Notices" link NOTICE} , for example what to change in your old config
    some general notices @{"First of all / DISCLAIMER" link FIRST}
    what you can do and what you can't @{" Legal notice / COPYRIGHT " link COPYRIGHT}
    read the @{" Introduction" link INTRODUCTION} to learn more about it
    all @{" Requirements " link REQUIREMENTS} you need to use me
    how to @{" Install " link INSTALLATION} AmiStart
    what are the @{" Features " link FEATURES} of mine
    @{" How " link USAGE} to do it
    an @{"AREXX" link AREXX}-interface for external access
    what @{" Bugs " link BUGS} do i have
    slow @{" Performance " link PERFORMANCE}?
    @{" Thanks " link THANKS} to all of you
    the @{" History " link HISTORY} to see my progress
    my @{" Last Words " link LASTWORDS}, all i wish
    to @{" Contact " link CONTACT} me
@endnode

@node NOTICE "Notice to the using of AmiStart"

    @{b}NOTICE:@{ub}

        This version was compiled for mc68020 and above, i think thats no problem.
        Since Version 0.56 it is recommended to rise the stack size (16384 bytes for example),
        this is important because of the recursive removing from directorys (16384 is just a
        suggestion, i don't know the exact value).
        The muigfx.library is not longer optional since Version 0.56 uses it for Icon handling.
@endnode

@node FIRST "First of all / DISCLAIMER"

    @{b}First of all / DISCLAIMER:@{ub}

        I start this program in 1998, and sold my Amiga 1999, i continued in 2001 on WinUAE,
        coz Windows programming is arghhh...
        This Documentation is very BETA, and only a startup Document, i change this if i get
        user response (or i hope anyone will do this job).

        I'm not liable for any damages on your Hard and/or Software, it's your risk to use
        this Application.
@endnode

@node COPYRIGHT "Copyright"

    @{b}Copyright:@{ub}

        This Tool is Freeware, but i ask for an e-mail (address follows below).

        Note: This is only valid for the AmiStart executable, see the included readme file
              for copyright informations for the additional content.
@endnode

@node INTRODUCTION "Introduction"

    @{b}Introduction:@{ub}

        As many other Tools this one is an other example of a Windows like Starmenu, unlike
        most of them you can drag&drop items direct in the menu.
        At time you can not use Images like jpegs or iffs for the items, you only can use icon
        files so you should use Newicons or i hope it looks well with the new icon.library in
        os >= 3.5.
        Also you can use a Filesystem, which will be displayed.

        The only purpose of this tool is to start wb applications (for os <=3.1 command line files
        (this without info addon) could crash).

        To learn more about the Possibilities of AmiStart read the Usage.
@endnode

@node REQUIREMENTS "Requirements"

    @{b}Requirements:@{ub}

        - wb 3.x
        - wbstart.library (under OS >=3.5 this should be not needed).
        - guigfx.library (since 0.56 needed).
        - MUI (3.8) only to change the parameters, without this you must edit them with an editor.

        the "should" means i couldn't test it coz i only own OS 3.1.
@endnode

@node INSTALLATION "Installation"

    @{b}Installation:@{ub}

        only drag the content to the WBStartup directory and/or optionally change the tooltypes
        (don't replace the prefs file and the additional content if you wish to use the old data).

        I included a install file in the packages above 0.57, but you can still install as above.
        The installer file should not overwrite old files by selecting the right options, and you
        can set the TOOLTYPES automatic.
        Don't blame me if it won't work, i've never make a install file before.
@endnode

@node FEATURES "Features"

    @{b}Features:@{ub}

        - displays unselected and selected images,
        - drag & drop
        - displays filesystems
        - small arexx port, which enables to add entrys (for example by the installer (like windows))
        - changing the prefs file (by external editor or a text editor) causes AmiStart to reload it.
        - keyboard support (since 0.52)
        - fully hideable (since 0.53)
        - texture support (since 0.56)
        - transparent backgrounds (since 0.58)
        - direct commodities support (since 0.57)

@endnode

@node USAGE "Usage"

    @{b}Usage:@{ub}

        @{b}Tooltypes@{ub}:
            PREFS=xyz
                name of the prefs file (must exist).
            STARTICON=xyz
                name of the icon file (without .info extension) this icon is used for the start-button,
                you can click on.
            CX_HOTKEY=xyz (since 0.52)
                an optional hotkey to popup/popdown this tool
            NOBORDER
                don't border the starticon (icon is not transparent). You could paint your own borders.
            SILENT (since 0.53)
                setting this flag makes amistart fully invisible, until you press the hotkey or use
                the AUTOPOPUP flag described below.
            AUTOPOPUP (since 0.53)
                only if SILENT is enabled, makes Amistart visible by moving the mouse in the leftmost
                bottom edge of the wb-screen.
            TRANSPARENT (since 0.57)
                make the Starticon "Transparent", means that the Background color is replaced with the
                Background.
                The problem is that this only work properly if no Window is in front of the StartIcon
                before AmiStart starts, background changes won't be recognized while AmiStart is alive.
            DATAPATH (since 0.57)
                set the path for the relativ positioned data in the startup prefs, this were for example
                icons which are not absolutly located.
                For example "icons/up.info", with unset DATAPATH this is loaded with the path
                "progdir:icons/up.info" with DATAPATH the path is "DATAPATH/icons.info".
                This enables you to leave out the example setting icons out of the wbstartup drawer.
                Nevertheless these is only a path for the data in the sm.prefs file not for the starticon.
            NOTOOLTYPES (since 0.58)
                this disables the Filessystem TOOLTYPE support (see below), could speedup reading
                filesystems (the first time), but on my Hardware this seems to have no effect in speeding
                up something.
            JUMPQUALIFIER=xyz (since 0.58)
                this ToolType changes the qualifier to jump multiple entries in a Layer by the keyboard mode.
                Following strings are possible "lalt", "ralt", "ctrl", "lshift", "rshift"
                (default is left alt).
            FASTSCALE (since 0.58)
                in 0.58 the scaling algorithm for small icons was rewritten, this looks better but could
                be slower and needs more colors, so users without a gfx card should use this Tooltype to
                force AmiStart to use the old algorithm.

        @{b}Setting up AmiStart@{ub}
                To add a Tool, simply drag it's icon on a location in the startmenu.

                To add a Filesystem, simply drag a Drawer (Filesystem) icon on a location in the Startmenu
                and select Filesystem

                To add an Application-Drawer, simply drag a Drawer (Filesystem) icon on a location in
                the Startmenu and select Application.

                to change positions of Applications, Drawers ... drag it's Name to the destination
                location.
                    (dragging from Filesystems to Application-Drawers is possible, other way is not
                    possible, because FileSystem Layers are Temporary)

                to change the properties of the items, press and hold the left mousebutton down (not
                move the mice) until the Properties Window appears. (needs MUI)

                to change the Logo and some default parameters do same as above in the Logo.
                 - the included logo was fast painded with photoshop (i'm not an artist), notice that
                   the logo is painted from bottom upto top without resizing it, if the layer is heigher
                   than the logo the logo is scaled up else it will be truncated.
                   The included logo is in jpeg format this causes a larger amount of time to decode it
                   first time, user with low-end processors could repack it or use an other logo.

                to remove entrys, drag them out of the windows

                to save an configuration click exit and then save or configure a new button (application)
                with the save command or use the arrex command "SAVE"

                to use background textures, select a pattern-number in the cycle-button (enter the name
                of the background (drop a image file, or popup the asl-requester)), you can use up to 10
                patterns and one empty pattern named "----", this patterns are global so you don't have
                to enter the pattern-image in other layers to reuse the same pattern only select the same number.
                To change the pattern of the Start-Layer select the logo an press left-mousebutton a while,
                to change the pattern of a directory select its root with the left-mousebutton a while.
                Since 0.58 you can set the pattern cycle button to the "RND" entry, this will take a
                random pattern from the list edited above.

                Note all patterns you define, are loaded by startup and stay in memory.

                To get direct commodities Support, drop a new application on a Layer and select it with
                the Left-mousebutton a while, then change the Command to Commodities (change the icon files
                if wished).

                To change filesystem properties somewhere within the Filesystem tree, set following ToolTypes
                in the Icon you want to change

                for Files/Dirs:
                    AMISTART_SMALL=ON|OFF                           make this icon small,

                for Directorys:
                    AMISTART_SMALLCONTENT=ON|OFF                    make content of this dir small
                    AMISTART_ICONSONLY=ON|OFF                       show only files with ".icon" extension
                    AMISTART_ORGICONS=ON|OFF                        show original icons
                    AMISTART_FILESONLY=ON|OFF                       show only files
                    AMISTART_DIRSONLY=ON|OFF                        show only directorys
                    AMISTART_NOICONS=ON|OFF                         do not display the .info files
                    AMISTART_SORT=ON|OFF                            sort content
                    AMISTART_SORTTYPE=DIRSFIRST|FILESFIRST|MIXED    position of dirs and files

                you can setup a default tool for a filesystem directory, in this case AmiStart starts this
                Tool with the file or drawer as a parameter. Only directorys can get this ToolType and only
                a press onto this directory or its file content starts this Tool, not a click on it's drawers,
                in opposite to the above ToolTypes this not inherit.

                AMISTART_DEFAULTTOOL=NAME

                    for example you have a Filesystem "Daten:", with the following tree


                        Daten: - Sounds - mp3 - song1.mp3
                          |        |
                          |        - wave - song2.wav
                          |
                          - Graphics - iff - background.iff
                          |          |
                          |          |
                          |          - jpg - pic1.jpg
                          |          |
                          |          |- pic2.gif
                          |          |- pic3.gif
                          |          |- pic4.gif
                          |           - pic5.tiff
                          |
                          |
                          - Others -

                    and you set this tooltype in daten:graphics.info, a click on pic3.gif starts this tool with
                    "pic3.gif" as parameter, a click on the jpg drawer does nothing, you must set this tooltype
                    in daten:graphics/jpg too. But a click on daten:graphics starts the tool with "daten:graphics"
                    as parameter.

                    Note: the root "Daten:" can't have this ToolType set.

                    the NAME parameter should content the path to the default tool, use the tocken {f} as a place
                    holder for the filename of the file you click, dont use {F}, leaving this token does not
                    insert the clicked file/dir.
                    The tool does not run Asyncron so you need to add a "c:run" command infront of the default tool,
                    don't forget the path to the run command!.

                    For Example

                        AMISTART_DEFAULTTOOL=c:run sys:utilities/MysticView {f}


                AMISTART_DOSPATTERN=pattern
                    to set a matching pattern, only entries with a filename that matches this pattern will be
                    displayed (see your DOS manual).


        @{b}Keyboard usage (since 0.52)@{ub}

            - up-arrow:         go previous item
            - down-arrow:       go next item
            - right-arrow:      go inside a directory
            - left-arrow:       leave a directory
            - HOTKEY:           only to popup / popdown this tool (no exit!)
            - lalt(*) +up/down: jump multiple entries up/down
            - Escape:           hide all layer

            (*) could be changed through the JUMPQUALIFIER Tooltype


        @{b}Others@{ub}

            since Version 0.58 backgrounds could be transparent, check the checkmark to do this, you could set
            the tint of transparent Layers in the global properties. Layers become only transparent, when enough
            memory is available otherwise the Fallback pattern will be used. Transparency needs TRUECOLOR screens,
            but it can work on low-color views too, i don't tested it very much.

            try out the Parameters!


        @{b}Parameters that couldn't be setup in the properties:@{ub}

            you could setup a value for the space between items in a Layer in the prefs file,
            to do this change the SPACE parameter.
@endnode

@node AREXX "AREXX"

    @{b}AREXX:@{ub}

        AREXX-PORT-NAME:    "AMISTART"
        AREXX-COMMANDS:
            Commands and Keywords are Case-Sensitive
            All parameters like values and strings must be quoted by ""
            [] are optional parameters

            SAVE
                save Preferences under the name defined in the tooltypes (defaults to "sm.prefs")

            ADDITEM NAME="Title" [ICON="info-file"] [DIR="Directory to insert item"] FILE="wb-application"
                adds an application to the startmenu

                NAME the title of the Application
                ICON the icon file
                FILE the application executable itself
                DIR  where the item should be inserted (not the title of the Directory)
                     without this parameter the application will be inserted in the "ROOT" directory
                     (should be the Programms Directory), if it is not possible in the "MAIN" directory
                     (the directory which pops up by clicking on the start button/HOTKEY).
                     (the "MAIN" directory can not be removed)
@endnode

@node BUGS "Bugs"

    @{b}Bugs:@{ub}

        NOTE: except the screennotify (bug?), none of the described errors should be dangerous.

        Caching FileSystems (icons) uses a very simple algorithm, this means the cache would never be cleaned
        up so it could cost much memory by entering lots of directorys.

        ***************** TEMPORARY CAHNGED ********************
        Screennotify could be buggy, if you decide to change the Screenmode it is better to leave AmiStart
        first. Does anyone have experiencies with screennotify, i think its buggy (esp. with dopus),
        for example it tells several times to close and open the window.
        ********************************************************

        since ver: 0.57 AmiStart opens the System-info Requester which enables to edit the ToolTypes of
        a selected Filesystem info file, this seems not to work with DOpus, don't know why but on the wb all works
        fine.

        sometimes amistart doesn't seems to react on keys (don't know why, but thats not a fatal error, in this
        case move the mouse on an open layer (don't click), so the keyboard support works again).
        (NOTE: AmiStart needs that it's windows are activated to support keyboard control, tools like MCP could
        cause errors. (you should not use options like ActivateWindow))

        changing various parameters doesn't seem to work properly, this is only while the setup window is alive.
        Close the setup-window (and all Layers) and all works fine (especialy FileSystems needs to close the
        Setup-window first).

        the direct commodities support needs some private (undocumented) functions/structures from the
        commodities library, there is no guarantee that it'll work on future os versions.

        transparency needs much memory while layers are alive, further they could be very slow. Using this
        feature on scrollable layers (Filesystems for example (but Application Directorys are scrollable
        as well)) is not recommended because this scrolls the background as normal patterns do.
        NOTE: it isn't possible do do fixed backgrounds.

        parts of icons could have a bad background. I use the patch NI_RemapFix for NewIcons, i have changed
        it to work with AmiStart as it works with the wb. Send me a mail if you want to use it, and there
        is no copyright violation.

        more weighty are not known yet.

        send me an mail if you find more, in this case note your configuration:

            - your os version
            - are you using workbench replacement tools (dopus/scalos)
            - processor (if < 020, i compiled AmiStart for 020 and above)
            - do you use a gfx-card or the old chipset, (most things in amistart are optimized for true-color,
              it must run on aga/ecs but if there are graphical trash on your non-true/hi-color screen i
              propably never fix this, coz aga/ecs is outdated).
            - patches

        Note: AmiStart isn't a low-config-computer-application.


@endnode

@node PERFORMANCE "Performance"

    @{b}Performance:@{ub}

        loading different icons is very slow, so you should decide to use default icons for filesystems,
        which contains masses of entries this also consumes much less of memory, because this icons are
        only loaded one time instead of loading each icon by using ORGICONS.
        So projectdata like images/music should be loaded through AMISTART_DEFAULTTOOL instead by for
        example (deficons) DEFAULTOOL.
@endnode

@node THANKS "Thanks"

    @{b}Thanks:@{ub}

        special thanks must go to (order of appearance is random and does not say anything):

        Martin Mason Merz        for the beautiful Artwork.
        Eric LUCZYSZYN           for the french catalog.
        Emiliano Esposito        for the italiano catalog.
        Nicolaos Damilakis       very lot of ideas
        John Wasilewski          for Beta-testing.
        Nicholaus Darley Jones   for Beta-testing.
        (TLT) Lee                for Beta-testing..
        Luca (Hexaae) Longone    for Beta-testing and to be the first user who sends me an e-mail
        Orhun KABAKLI            for Beta-testing.


        thanks for your ideas.

@endnode

@node HISTORY "History"

    @{b}History:@{ub}

       changes since:

        Version 0.57:
            - doc type changed to amigaguide format
            - added a empty background hook, layers wouldn't be erased anymore before a background is painted,
              this is a bit faster and Layers doesn't flicker so much if they appear.
            - added FASTSCALE Tooltype
            - added JUMPQUALIFIER Tooltype
            - added NOTOOLTYPES Tooltype
            - use my own scaling algorithm, small images looks now much nicer than the old (guigfx) scaling
            - added transparency support for Layers
            - leaving the properties, not longer causes Layers to be closed (see BUGS)
            - added a french catalog, done by Eric LUCZYSZYN.
            - added a italian catalog, done by Emiliano Esposito
            - added a installation script (hope it runs)
            - AmiStart now reads the DEFAULTTOOL parameter in the Project icons, so you can now
              use deficons to do acions on data files without icons. (jpegs for example)
            - pattern could be now changed randomly.
            - you can use a matching pattern in filesystems.
            - added AMISTART_DOSPATTERN properties TOOLTYPE for filesystems

        Version 0.56
            - added ToolType DATAPATH, to enable loading data from other locations
            - on >=3.5 Systems wbstart.lib should not be longer needed, clicking
              on a Directory inside a Filesystem should open this drawer on the
              WB screen.
            - pressing the left mousebutton over a Filesystem item should open the
              System info-requester for ToolType editing (see bugs).
            - filesystem settings can be changed somewhere inside the directory structure,
              so you not longer are fixed to use  global filesystem settings
            - you can set up a default tool for a filesystem drawer
            - using alt keys with cursorup/down scrolls multiple entries in keyboard mode.
            - screennotify.library reworked, neverthenlass i cant make it work as it should.
            - new Command COMMODITIES, so Commodities could be handled now direct by AmiStart
            - Sorting the Filesystem contents.
            - Escape Key to hide all layers
            - Temporary TRANSPARENT Tooltype (makes only the StartIcon Transparent, beware this has some
              restrictions you will see)

        Version 0.55
            - changing the properties layout
            - adding "small FileSystem content" flag in the FileSystem properties,
              this let the Icons be halvesized independent from the root icon.
            - adding a simple caching mechanism for filesystems, visiting same
              directorys a 2nd time is now much faster now
            - changing the Start-icon bordering from double to single border.
            - addign NOBORDER ToolType, to get the StartIcon unbordered
            - added FileSystems now uses the right icon file (disk.info) by default
            - most actions not causes AmiStart to close all layers anymore (delete, add, drag&drop) only
              changing setting does.
            - removing of unempty directorys (please rise stack size in the AmiStart icon)
            - adding Background Support
            - changing Icon Handling (needs to be done to make icons Transparent on Backgrounds)
            - titles could be shadowed now.

        Version 0.54
            - color of titles could be changed (value could be different by selected colors).
            - show only files with icons should now run correct.
            - using Memory-pools for strings and structures inside the code, this prevents
              memory fragmentation.
            - adding support for the icon.library version 44, so AmiStart should now run correct
              with OS3.5/3.9
            - directorypopup disapears by doubleclick

        Version 0.53
            - fixed some bugs (in previous versions dropping same drawers as application drawers causes,
              that all this drawers contains the same data)
            - scrolling should cause no layout errors anymore
            - screennotify handling rewritten, (on std. workbench it seems to run ok, but on dopus
              i notice problems but it seems that the screennotify.library is faulty because the same
              error apears on the demo prog on my computer)
            - added a german catalog and a catalog description file

        Version 0.52 (not released)
            - added hidden mode (see Tooltypes description)

        Version 0.51 (not released)
            - added keyboard support
            - removing some little bugs

        Version 0.5 (first released)
            - drag&drop handling in now more tolerant
            - small icons are displayed now correct
            - mui setup is now working by droping items on the gadgets correctly (before you need
              to press return in the strings)
            - arrow space is now added only if arrows are needed
            - removing items now causes a confirm requester
            - arrows are now updated correctly
            - changing the font recalculates all layers (leave the prefs for correct display)
            - changing flags in the setup works now correct
            - you not longer need to select an item before clicking on the logo to setup default
              values
            - adding LOADALWAYS (reload icon everytime) flag, icons with this flag set are
              loaded/reloaded everytime the directory appears, so they are load first if you
              select a directory (like all icons in a filesystem)
@endnode

@node LASTWORDS "Last words"

    @{b}Last Words:@{ub}

        coz AmiStart is a (new) application there is no icon available for it, so if you could do it
        (the icon itself and one for the starticon) in the great glow-icon style, it would be nice
        to send me them.
@endnode

@node CONTACT "Contact"

    @{b}Contact:@{ub}

        Darius Brewka
        d.brewka@freenet.de
@endnode

