packages icon
What does `Flin' stand for?
	Flin means `Flin's a Learners Interface to 'Nix Systems'.

What is `Flin'?
	Flin is a Un*x/ncurses menu interface. I originally wrote
	it when I tried to make a shell script to add some security to my
	guest account. I found that shell scripts are completely impossible to
	write in a decent way and just plain ugly to look at. So I had my hand
	at writing my own. Besides, I wanted to try out my gnu-ELF build
	environment on something other than one module programs.

How do I write menus?
	This is a short primer, please see the file Manual for further details.

	Flin menus are very simple to write and read. They are laid out in a
	very logical way much like the menus to `fvwm' (1.xx anyway).
	Unfortunately, at this point the parser is a bit crude, but it has
	nice verbose output so you can trace down the problem in the menu file
	really easily.

	A menu starts with the word `Menu' followed by the menu name (not the
	title), and ends with the word `EndMenu'. Each menu consists of a
	variety of tokens and their respective arguments, tokens and arguments
	are split by the character `:'. At this point there is no escape
	character, so you cannot use `:' in menu text. Every token has at
	least one argument, which is what will appear on the screen.

	The tokens currently recognized by Flin are as follows:
		* `Title': denotes the title of the menu (you can have as many
		  as you like).
			Title:Main Menu:
		* `Exec': denotes an executable item and has two arguments,
		  the second is the command line to execute.
			Exec:Read Mail:pine:
		* `Args': denotes an executable with user-inputed command line
		  arguments. The optional `Prompt' field contains the title for
		  the dialog box.
		  USE WITH CARE, this could be a whopping security whole when
		  used improperly.
			Args:Send a file (ZMODEM):sz:Prompt:
		* `SubMenu': denotes a link to another menu and has two
		  arguments, the second is the name of the Menu to link to.
			SubMenu:File Utilities:File-Util:
		* `Exit': quits the current menu, if the current menu is the
		  first menu, you will be logged out.
			Exit:Back to Main Menu:
		* `Quit': Log out of Flin.
			Quit:Logout:
		* `Nop': is for comments
			Nop:This is a comment:

Putting it together:
	To execute the menu, you can either put the line `#!/usr/local/bin/flin'
	at the first line in the menu, or type `flin <menu-name>'.

	A sample menu is provided with this distribution, please examine it.

HOW TO GET HELP:
	If you find a bug PLEASE send me a report describing it, or fix it
	yourself and send me a patch with description.

	Send all patches/advice/questions/flames to
	`shmit@kublai.com' I hope you find this software useful, and
	please: hack away at the code, add new screen modules, take some items
	off the TODO list, add some items to the TODO list. The only thing I
	ask is that you send me patches (with comments) when you have done
	something.

	Or just talk to a good shrink.

WHERE TO GET UPDATES:
	Major and minor version revisions will be posted to
	comp.os.linux.annouce. They will be released as a full distribution in
	the primary/secondary sites as listed in the lsm entry.

	The secondary site tends to get updated quicker than the primary, if
	you're keen on bleeding edge updates head there.

Notes on patchlevel revisions:
	I revise the patchlevel when bugs are fixed or small features added, I
	bump up the minor version when big features change. Major level
	revisions happen rarely, and indicate major changes (or new-found
	stability).

	Patchlevel revisions will not be posted to comp.os.linux.announce.
	They will be released in unified diff form ONLY. Apply with
	`patch -p1 < flin-x.x.x.patch'.

	Alternately, if you wish to be informed of updates automagically, send
	me mail at `shmit@kublai.com' saying so. If a lot of you guys
	want to know I could set up a mailing list (as soon as majordomo works
	with perl-5).