@(#) 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)