Last Modified 09/16/98


The Board's Menuing System


	The main program of the bbs is the menu shell.  This is intended to
be the default shell for users of the bbs.  When the shell is loaded is will
contact to the tbserver proccess telling it who is logging in.  Then a few
logon screens are displayed, a news file, and a check for new mail.  After
that the user will be placed at the main menu.  
	The menu system is defined through config files.  Each menu has a 
config file defined in menu.dat.  Upon entering the menu the config file is
read into memory and then a display is out put to the screen.  The menu
system draws it's own menu screens based on the information in the file.  The
screens are very configurable but it still hinders flexablility.  A self
written display file can also be displayed but the system created menu's sit
infront of them and as of now there is no way to disable them.  We will be
changing this in a future release to allow the option to use both or just one
type of display.
	The config file itself is kind of messy.  It's a standard text file
that can be edited manually.  We will be writing an editor for this shortly
and at that time we'll be change the config file format.  This is the current
format of the menu config file.

	[MISC]
	The Board
	/theboard/menu/display
	
	
	[MENU1]		Each box draw on the screen is reperesented as a menu
	1		X position of upper left hand corner
	1		Y position of upper left hand corner
	78		The width of the box
	21		The hieght of the box
	1		The color set for the box (see below for colors)
	
	[MENU2]		Each box you want drawn on the screen needs to have
	25		a title.  The titles start at [MENU1] and up in
	2		increments of one.
	30
	4
	1
	
	.		You can define as many boxes as you want.  You are
	.		going to use the number of the box stated in the
	.		title to add commands and comments to it
	.
	
	[COMMANDS]
	zzz:         The Board: :E:2:0:none
	O:nline Games:M:F:3:0:2
	B:ulletins:M:F:3:0:3
	zzz:: :E:2:0:none
	G:oodbye/Logoff:0:F:4:0:none

In the command section you can list as many commands and formating strings
as you want.  The commands section needs to be the last section in the file.
It will read the commands until it gets to the end of the file.

Here is a breakdown of one of the commands:

O:nline Games:M:F:3:0:2


O		-This part contains the keys used for this command.
		 It will be display in () and highlighted.
nline Games	-This is the text to go next to the highlighted keys.
M		-This is the type of command it is.  Some of the types are
			M = Menu
			F = Forum
			S = External Command
			T = Telnet to a remote system
			U = User Editor
			V = Display a file
			s = Personal Settings
		 Leaving this field blank or using something not above will
		 make it not do anything.  This good for adding titles and
		 comments.
F		-Color of Text (See colors below
3		-Menu (or box) number.  This is where the command will be
		 displayed
0		-Security Level.  If the user doesn't have a high enough
		 security level he or she will not be able to access the menu
		 plus it won't be display on the screen.
2		-This is the action field and it will vary depending on the
		 type of command.  In the case of this command it is the
		 menu number to goto.



While in the menu system there are several hardcoded commands in addition to
those you specify in the menu's config file.  Here is a brief list of global
commands.

	G	Goodbye logoff
	BYE	Quick logoff - does not confirm
	HELP	Start up the help system
	MENU	Redisplay the menu
	WHO	Displays who is online
	M	Toggles color
	SHOUT	Broadcast a message to all nodes
	PAGE	Page the sysop

As of right now that is about it.  We will be adding alot more commands for
node interaction but will probably leave the rest to be specified by the
sysop when configuring his/her bbs.


Just a quick note

Ifou want to add a menu to the menu system you will have to make a new
config file for it and then add an entr for it in the file menu.dat.  You
can refer to your new menu by it's menu number which will be the line that
it is on in menu.txt.

We will be writing a setup program that will do this for you and allow you
to edit menu options more easily soon but for now you just have to edit it
by hand.

If you have and questions you can post them in The Board Support forum or on
the web site in the message boards.  You can also get in touch with me
directly via email at <dbraun@gte.net>.


http://theboard.ml.org

