@(#) Gemini FAQ (English) 06 Jan 1995

This is an English version of the Gemini FAQ. The original German version
is compiled by Oliver Stettner, this translation has been made by Andr
Leistner.


Here are the questions which are answered in the FAQ:

 1: What does FAQ mean? How does one spell 'standard'? Where can I 
    get more information from?
   
 2: What is the latest version of Gemini?
    
 3: When will a new version of Gemini be released?
   
 4: I haven't got any documentation for Gemini. Except that I need 
    some more man-pages
   
 5: How can I make Gemini to be the desktop under single TOS, 
    MultiTOS or MagiC?
    
 6: How can I include my own icons?
    
 7: How can I configure Gemini to make use of Kobold?
    
 8: And how can I specify when to use Kobold?
    
 9: How can I load GIN files?
    
10: The menu entry File/Alias is always disabled here. How can I use 
    it?
   
11: How can I force a media change?
   
12: Can I replace the Console window and/or Mupfel with anything else?
   
13: Which ways are there to set environment variables?
   
14: What is the difference between setenv and export?

15: Which environment variables does Gemini use?
   
16: What do those cryptic s:y,x:n mean in my profile?
    
17: There are profile, mupfel.rc, gemini.mup. What are these supposed to 
    be for?
   
18: But I cannot run GEM programs via gemini.mup!
   
19: Where can I obtain more tools for Mupfel?
   
20: Why shall I begin my Mupfel scripts with "#!name"?
   
21: When I double click a file my favourite printing/viewing program 
    shall be started after an inquiry. How can this be done?
   
22: Does Mupfel provide filename completion?
   
23: I can't run GEM programs from within Mupfel if I use Mupfel 
    without Gemini.
    
24: Sometimes under MultiTOS characters get lost when running TOS 
    programs in the Console window. How can I avoid this?
   
25: When I drag the clipboard icon onto the trash icon not only the 
    contents of the clipboard will be moved into the trash but the 
    clipboard directory, too.
   
26: Gemini's Mupfel can send parameters to accessories via the VA 
    protocol. How?
   
27: How does Gemini's directory strcture look like? A short course 
    for interested or advanced users and for those who want to 
    become just like them.
    
28: I configured Gemini to show filenames in small letters but I 
    experience inexplicable problems then. What's the reason for 
    these?
    
29: Are there any incompatibilities with MagiC?
    
30: Which key combinations are there in conjunction with mouse 
    actions?
   
31: I use MagiC 2.0. But when I call the task manager by pressing 
    Alt-Ctrl-Esc I can't see it.
    
32: I'd like to have a printer icon on the desktop. Is that possible? 

==========================================================================

 1: What does FAQ mean? How does one spell 'standard'? Where can I 
    get more information from?

 A: FAQ is an abbreviation for Frequently Asked Questions. An FAQ is a
    list of questions and answers concerning a specific topic.
    
    Standard is being spelt with a 'd' at the end.
    
    There are other text files included in the Gemini distribution. Read 
    them if you can (all in German, unfortunately).
    
==========================================================================

 2: What is the latest version of Gemini?

 A: The latest Gemini version is v1.999e of 21 Dec 1994.
 
==========================================================================

 3: When will a new version of Gemini be released?

 A: When it's ready for release.
    Please note: rare updates are usually of greater value ;-)
    
==========================================================================

 4: I haven't got any documentation for Gemini. Except that I need 
    some more man-pages

 A: A documentation is currently being prepared. However, almost all man-
    pages have been completed (especially for Mupfel itself, in German
    though). A big thank you to Julian F. Reschke for doing this.

==========================================================================

 5: How can I make Gemini to be the desktop under single TOS, 
    MultiTOS or MagiC?

 A: Under TOS v1.04 or higher select Gemini.app and set it's boot status
    to Auto ('Install Application...' from the Options menu). Don't 
    forget to save the desktop!
    
    For older TOS versions you need an additional tool to auto start a 
    GEM application. Such a tool is not included in the Gemini 
    distribution. You can find these tools (GEMSTART or STARTGEM and the 
    like) on many MAUS-BBSes and on ftp. Anyway, you really should think 
    about a newer TOS version. It's worth it!
    
    Under MultiTOS insert or edit the following line in the file gem.cnf:
    
    shell c:\path\gemini.app
    
    Under MagiC insert or edit the following line in the file magx.inf:
    
    #_SHL C:\PATH\GEMINI.APP
    
    Mind the spelling in both cases!
    
    Besides, it is very useful to set the environment variable SHELL 
    correctly under TOS, MultiTOS as well as MagiC. That means you have 
    to insert/edit the following line in gem.cnf:
    
    setenv SHELL=c:\path\mupfel.ttp
    
    or in magx.inf respectively:
    
    #_ENV SHELL=c:\path\mupfel.ttp
    
    This variable is important for programs which are able to pass 
    commands to the shell without terminating (e.g. 7up, CAT etc.).
    
==========================================================================

 6: How can I include my own icons?

 A: You have to edit geminiic.rsc with a resource editor. Unfortunately, 
    there is no other way at the time.
    
==========================================================================

 7: How can I configure Gemini to make use of Kobold?

 A: There are two ways: The simple way ist to install Kobold as an 
    accessory. It will then be used automatically.
    
    The other way is to run Kobold automatically everytime you need it. 
    To do this you should set the environment variable KOBOLD_PATH to the 
    path in which Kobold can be found. Insert the following line in your 
    profile:
    
    KOBOLD_PATH="c:\path"
    
    Kobold has to be in the specified directory and it's filename must be 
    kobold_2.prg. Otherwise Gemini won't find Kobold.
    
 8: And how can I specify when to use Kobold?

 A: Set your preferences in 'Talkatitvity...' from the Extras menu.
 
==========================================================================

 9: How can I load GIN files?

 A: Just double click on them. You can configure Gemini to ask before 
    loading a GIN file in 'Talkatitvity...' from the Extras menu.
    
==========================================================================

10: The menu entry File/Alias is always disabled here. How can I use it?

 A: Select the program with a single klick and then top another window. 
    The program still has to be selected! Now the menu entry is enabled. 
    Under GEMDOS Gemini will create a tiny Mupfel script in the given 
    directory which will start the program. On other file systems (e.g. 
    the Minix file system for MiNT) real links are created. You can then 
    create links to other files and than programs, too.
    
==========================================================================

11: How can I force a media change?

 A: ESC will only reread the current directory. If there is only one GEM 
    application active a media change will be performed. Shift-ESC will 
    always force a media change.
    
==========================================================================

12: Can I replace the Console window and/or Mupfel with anything else?

 A: None of this is possible. Gemini needs Mupfel to do file operations.
 
==========================================================================

13: Which ways are there to set environment variables?

 A: The following is the easiest way:
 
    OTTO="emil"
    
    OTTO will get the value "emil". However, this variable will only be 
    known to Mupfel (and Gemini). Other programs will not know anything 
    about OTTO. The variable is a local one then. To put this variable 
    into the global environment (to make it available for other programs 
    as well) it has to be exported. If OTTO has been defined as above 
    just type:
    
    export OTTO
    
    If you want to define and export a variable at the same time type:
    
    export FRANZ="ottokar"
    
    FRANZ will be a global variable at once then. The line:
    
    setenve FRANZ "ottokar"
    
    will do exactly the same. It doesn't matter whether you use export or 
    setenv if you want to define a global variable. However, existing 
    variables can only be exported using the export command.
    
    setenv OTTO
    
    will create an empty variable called OTTO.

==========================================================================

14: What is the difference between setenv and export?

 A: Well, there is no difference in Mupfel. Mupfel before version 1.99 
    only knew setenv and for reasons of compatibility this command has 
    ben kept. The POSIX standard (a worldwide attempt to standardize 
    command line shells) says export has to be used instead of setenv. 
    That's why there is export in Mupfel. For reasons of compatibility 
    (Mupfel scripts will run with minor changes on UNIX machines) you 
    should use export.
    
    History:
    setenv is a command of the C-shell (csh and the like) while export is 
    a command of the Bourne shell (sh and the like). The original Bourne 
    shell is a bit different:
    
    variable=value
    export variable
    
    This has been simplified by POSIX to:
    
    export variable=value
    
    The first way is still valid.
    
==========================================================================

15: Which environment variables does Gemini use?

 A: Here's a list of all known by now:
 
    APPDEFAULT   Default starting parameters for programs wit suffix app. 
                 See below for the format.
    ARGV         This one is used of internal purposes for passing 
                 arguments via ARGV.
    CDPATH       Path for directories for cd.
    COLUMNS      Anzahl Zeichen pro Zeile
    ETC          Files are being searched here which are usually in the 
                 /etc directory on a UNIX system
    ETCDIR       See at ETC. ETCDIR has priority to ETC.
    GEMDEFAULT   Default starting parameters for GEM programs. See 
                 below for the format.
    GEMINI_GIN   File name of the standard GIN file.
    GEMINI_INF   File name of the standard INF file.
    GEMINIHOME   This is where Gemini, Mupfel and runner2.app are.
    GEMSUFFIX    Suffixes of GEM programs.
    HISTFILE     Name of the history file for the 'history' command.
    HOME         The home directory.
    IFS          (Internal Field Seperator) contains those characters 
                 Mupfel uses when seperating a line into words (normally 
                 space, tab and CR)
    KEEPFREE     Amount of memory (bytes) which will be left free when
                 copying (default 32 KB)
    KOBOLD_PATH  Kobold is here
    LINENO       Line number of the shell script currently being executed.
                 This variable loses it's special meaning if set to 
                 another value.
    LINES        Number of Lines of the Console window.
    MUPFEL_PROFILE_READ  Mupfel will define this variable if profile has
                 been read. Another Mupfel will only read mupfel.rc.
                 Therefore, define environment variables in profile and 
                 aliases in mupfel.rc.
    OLDPWD       Path of the previous working directory.
    OPT_name_ext Starting parameters for the program 'name.ext'. See below
                 for the format.
    OPTIONPATH   Path to OPT and OPL files.
    PATH         Path for external commands.
    PS1          Primary Prompt.
    PS2          Secondary Prompt.
    PS4          Prompt for trace output (see shell option -x).
    PWD          Pfad of the current working directory.
    REPLY        Will be defied by 'read' if no variable name has been
                 specified.
    ROWS         Nuber of rows of the Console window.
    SCRAPDIR     Clipboard path (not in a standalone Mupfel!).
    SECONDS      Number of seconds since the shell has been called. This
                 variable loses it's special meaning if set to another 
                 value.
    SHELL        Full Path to mupfel.ttp.
    STDERR       You can use this to redirect STDERR to a file.
    SUFFIX       Suffixes of executable programs.
    TERM         Name of the terminal emulation (not in a standalone
                 Mupfel!)
    TERMCAP      Contains a description of escape sequences supported by
                 the vt52 emulater of Gemini's Console window (not in a 
                 standalone Mupfel!).
    TMPDIR       Temporary directory. For example this is used for pipe
                 lines if the operating system doesn't provide real pipes.
    TOPWIND      Path of the top window.
    TOSDEFAULT   Default starting parameters for TOS programs. See below
                 for the format.
    TRASHDIR     Trash directory.

==========================================================================

16: What do those cryptic s:y,x:n mean in my profile?

 A: They are program options. The following options are available:
 
    m: Turn on mouse cursor?
    c: Turn on text cursor?
    b: Grey background?
    s: Pass arguments via shel_write as well?
    d: Change to a program's directory before executing it?
    w: Run TOS programs in the Console window?
    x: Use ARGV?
    k: Wait for a key press after a program ends?
    o: Run a program as overlay?
    l: Turn on a blinking cursor (for TOS programs)?
    i: Program runs in Magic's single tasking mode.
    
    The letter y after an option will activate it, n will disable it.
    Defaults are:
    
    GEM programs: m:y,c:n,b:y,s:y,d:y,w:n,x:y,k:n,o:n,l:n,i:n
    TOS programs: m:n,c:y,b:n,s:n,d:n,w:y,x:y,k:n,o:n,l:n,i:n
    
    These options can be set via environment variables in your profile.
    TOSDEFAULT contains default options for TOS programs, GEMDEFAULT
    contains default options for GEM programs. You can set special options
    for certain programs by defining the variable OPT_PROGRAM_EXT, e.g.
    
    OPT_RUFUS_APP="m:y,c:n,s:n,o:y"
    OPT_UNARJ_TTP="k:y"
    
    Some more information on TOSDEFAULT, GEMDEFAULT, APPDEFAULT, SUFFIX
    and GEMSUFFIX: SUFFIX contains all extenders of executable programs,
    GEMSUFFIX describes all GEM programs contained in SUFFIX. When
    starting a program these settings will be read in the following 
    order:
    
    TOS program according to SUFFIX and GEMSUFFIX? -> TOSDEFAULT
    GEM program according to SUFFIX and GEMSUFFIX? -> GEMDEFAULT
    GEM program according to SUFFIX and GEMSUFFIX and extension APP
                                                      -> APPDEFAULT

    After these settings are made special program options will be searched
    for (OPT_NAME_EXT).
    
==========================================================================
    
17: There are profile, mupfel.rc, gemini.mup. What are these supposed to 
    be for?

 A: These files are read by Gemini when you start it. They are read in the
    following order:
    
    $ETCDIR\profile
    $GEMINIHOME\profile
    $HOME\profile
    $HOME\mupfel.rc
    $HOME\gemini.mup
    
    At first Gemini looks for the file profile in $ETCDIR or $ETC
    respectively or in the etc directory of the boot drive else. This is
    the system's profile with settings for all users.
    
    The only job for $GEMINIHOME\profile is to define $HOME. If $HOME
    already exists you can delete this file. Since Gemini searches $ETCDIR
    now, this file is redundant anyway.
    
    $HOME\profile will be read only once after starting Gemini. That's why
    you should define all variables and the environment in there.
    
    $HOME\mupfel.rc will be run once at the start up of Gemini and at
    every start of a new Mupfel. You should define aliases here to be sure
    to get the environment you are used to. Don't define environment 
    variables here because they will be passed on to a new Mupfel.
    
    Files in the $HOME directory define a user's environment. There's no
    needo for a distinction between a user profile and a system profile on
    a single user system but you should keep this structure anyway.
    
    You can't run GEM programs from all files above. Running GEM programs
    is only possible from $HOME\gemini.mup. This file will be executed 
    once at the start of Gemini after all files above have already been
    run. The standard distribution of Gemini doesn't create this file. You
    should do this yourself if you need it.
    
    If $HOME isn't defined Gemini will search these files in the current
    directory (Gemini also uses shel_find for doing this). Apart from that
    profile will be searched in $HOME.
    
==========================================================================

18: But I cannot run GEM programs via gemini.mup!

 A: This will only happen if gemini.mup is run from an external Mupfel,
    not Gemini's internal one. There are two solutions:
    
    Run all TOS programs (this includes Mupfel scripts like gemini.mup) in
    the Console window of Gemini. To do this define the following in your
    $HOME\profile:
    
    export TOSDEFAULT='w:y'
    
    The other way is to set an option for gemini.mup to let it run in the 
    Console window. Insert this in your $HOME\profile:
    
    export OPT_GEMINI_MUP="w:y"
    
==========================================================================

19: Where can I obtain more tools for Mupfel?

 A: Julian F. Reschke wrote a lot of Mupfel tools (with German docs) and 
    you can find them on many MAUS BBSes (I hope on ftp, too). These 
    tools are currently: MUPFTL05.TOS (Mupfel tools), TEXTTL06.TOS (text 
    tools), PROGTL02.TOS (programming tools) and MINTTL01.TOS (MiNT 
    tools). You can also use many of the GNU utilities available on BBSes 
    and ftp. Please, don't forget a donation if you use Julian's tools.
    
    Tip: Some MAUS BBSes have special program sections for Gemini or GNU.
    
==========================================================================

20: Why shall I begin my Mupfel scripts with "#!name"?

 A: If a Mupfel script begins with "#!name" (without the inverted commas)
    the program 'name' will be used to run the script. The script will be
    passed as a parameter to the given program then. Examples for 
    applications are Rufus, SED or AWK scripts. The given program should
    be found in $PATH.
    
==========================================================================

21: When I double click a file my favourite printing/viewing program 
    shall be started after an inquiry. How can this be done?

 A: Define the follwing functions in your mupfel.rc:
 
    For the printing program:
    
    print ()
    {
       for i in $*
       do myprint.prg $i
       done
    }

    For das viewing program:

    more ()
    {
       for i in $*
       do myshow.prg $i
       done
    }
    
==========================================================================

22: Does Mupfel provide filename completion?

 A: Yes. Type the first letter(s) of a file name and then press HELP or 
    TAB. This will also work with environment variables ($) and options 
    (-).
    
==========================================================================

23: I can't run GEM programs from within Mupfel when I use Mupfel without 
    Gemini.
    
 A: You can run GEM programs if you start Mupfel with the +G option. You 
    can also rename Mupfel to mupfel.app and delete GEMSUFFIX with:
    
    export GEMSUFFIX=""
    
==========================================================================

24: Sometimes under MultiTOS characters get lost when running TOS 
    programs in the Console window. How can I avoid this?

 A: This is a known problem. Unfortunately, there's no solution by now.
 
==========================================================================

25: When I drag the clipboard icon onto the trash icon not only the 
    contents of the clipboard will be moved into the trash but the 
    clipboard directory, too.

 A: This is a known bug but not found yet. Any help is appreciated.
 
==========================================================================

26: Gemini's Mupfel can send parameters to accessories via the VA 
    protocol. How?

 A: That sounds more complicated than it really is. It's simply the 
    possibility to pass a command line to accessories. Just like running 
    a TTP with a command line.
    
    Examples:
    
    `c:\cdda.acc r:\track01.prg' passes the command line 
    `r:\track01.prg' to the `CDDA' accessory.
    
    `c:\1stguide.acc d:\foo\bar\readme.txt' passes the command 
    line `d:\foo\bar\readme.txt' to the `1st Guide' accessory.

    Of course it's the accessory's problem whether it can make use of the 
    command line.
    
==========================================================================

27: How does Gemini's directory strcture look like? A short course 
    for interested or advanced users and for those who want to 
    become just like them.

 A: The directory structure used by Gemini and especially by Mupfel looks 
    very much like the directory structure of common UNIX systems. Here 
    are some explanations:
    
    All explanations begin in the Gemini directory, so if we talk about 
    the "bin"  directory we mean $GEMINIHOME\bin.
    
    bin  - Binaries (executable programs). This is the place where you 
           can find external commands for Mupfel. This directory should 
           really be included in the PATH variable because then you just 
           type the commands name to execute it (you don't need the full 
           path then).
           
    etc  - et cetera (various things). Various files can be found here. 
           $ETCDIR or $ETC should point to this directory. Some external 
           commands like 'cookies' or 'file' (from the Mupfel 
           tools) expect certain help files here.
           
    man  - Manuals (manuals, documentations). This directory contains 
           directories for online documentation files for Mupfel and many 
           external commands. It's structure looks like this:
           
    man\cat1  - Manuals (man-pages) for external commands usually from 
                the bin directory.
                
    man\cat1m - Manuals for Mupfel's internal commands.
    
    man\cat2  - Manuals for the operating system's system calles. There 
                are no such files included with Gemini but they are of 
                high value for programmers.
                
    man\cat3  - Manuals for the operating system's subfunctions. See cat2.
    
    man\cat4  - Manuals for devices. Not included with Gemini.
    
    man\cat5  - Manuals for file formats. The structure of various help 
                files (often from the etc directory) is explained here.
                
    man\cat6  - Manuals for games. Not included with Gemini.
    
    man\cat7  - Manuals for various things which don't fit to the other 
                categories. Not included with Gemini.
                
    man\cat8  - Manuals for system administration. Not included with 
                Gemini.
                
    man\options - Help files needed to complete the options of Mupfel 
                  commands (by pressing HELP or TAB, see filename 
                  completion).
                  
    tmp  - Temporary (temporary files). Many programs need to save 
           temporary files which they can do here. Usually, these files 
           are deleted when exiting the propgram. $TMPDIR or $TMP should 
           contain this directory.
           
    user - Since $HOME contains this directory this is the home 
           directory. In general, on multi user systems every user has 
           its own home directory. Configuration files are saved there to 
           allow an individual environment for each user.
           
==========================================================================

28: I configured Gemini to show filenames in small letters but I 
    experience inexplicable problems then. What's the reason for 
    these?

 A: You can configure Gemini to show all filenames in small letters under 
    "Various..." from the "Extras" menu. Please note that Gemini will 
    pass filenames in small letters to programs if you drag files onto an 
    applications icon or if an application is assigned to a type of file. 
    Unfortunately, some programs only understand filenames in capital 
    letters. Help: turn off this option.
    
==========================================================================

29: Are there any incompatibilities with MagiC?

 A: Currently, there are two known problems. MagiC 2.0 doesn't pass on 
    the environment. Environment variables defined during runtime of 
    Gemini are not available in other programs started by Gemini. You 
    should define all needed environment variables in magx.inf via 
    '#_ENV', e.g.
 
    #_ENV SCRAPDIR=c:\clipbrd
 
    The other problem is to cancel a program via CTRL-C in Gemini's 
    Console window. As an alternative you can run TOS programs in MagiC's 
    vt52 window.
 
==========================================================================

30: Which key combinations are there in conjunction with mouse 
    actions?

 A: Quite a lot. In the following list M means to move or drag an icon, 
    and D stands for a double click on an icon.
    
    M           - Copy
    Ctrl-M      - Move
    Alt-M       - Copy and rename
    Ctrl-Alt-M  - Move and rename
    
    D           - Open
    Shift-D     - Pass the file to the application which is assigned to '*'
    Ctrl-D      - Show information
    Alt-D       - Icon: open a window with the path of the icon
    
    Besides, there are other keyboard shortcuts:
    
    Alt-Shift-drive letter: Open a new window of that drive
    Ctrl-Shift-drive letter: Change the current directory window
    
==========================================================================

31: I use MagiC 2.0. But when I call the task manager by pressing 
    Alt-Ctrl-Esc I can't see it.

 A: The task manager will only run in the Console window. To see the task
    manager you have to open the Console window.
    
==========================================================================

32: I'd like to have a printer icon on the desktop. Is that possible? 

 A: Of course. A Mupfel script is very useful here. Just write a script
    which can output the passed files to the printer. You can then assign
    an icon to this script and place it on the desktop.
    
    Example for such a script:
    
    #!mupfel
    #
    # @(#) print command for files
    #
    print ()
    {
       for i in $*
       do cat $i >prn:
       done
    }

==========================================================================

The latest version of the German Gemini FAQ can be found on the BBS
Maus LA in Germany (Tel.: +49-871-640321) in program section GEMINI. 
The file name is GEMINI.FAQ.

The latest English version should be available on ftp.cs.tu-berlin.de.
The file name is gmnifaqe.lzh.

Please, send any corrections, suggestions and changes to one of the
following email addresses. Corrections to the English version should be
sent directly to me (Andr). Ask your questions about Gemini and Mupfel on 
MAUS newsgroup GEMINI or maus.sys.atari.gemini on usenet (don't hesitate
to ask in English though German [even poor] is preferred). We're not
experts, just amazed Gemini users. ;-)

Email addresses:

Oliver Stettner

  MausNet: Oliver Stettner @ LA
  UseNet:  os@la.maus.de
  FidoNet:  2:2494/106.111
  FidoNet:  2:2454/95.17
  AtariNet: 51:601/110.17
  NeST:     90:400/601.17

Andr Leistner

 MausNet: Andre Leistner @ B
 UseNet:  Andre_Leistner@b.maus.de (no mails >16KB to this address, please)
          alpldbia@w250zrz.zrz.TU-Berlin.DE (mails >16KB possible here)

