rsalz@uunet.uu.net (Rich Salz) (09/13/88)
Submitted-by: Keith Gabryelski <ucsd!elgar!ag> Posting-number: Volume 16, Issue 5 Archive-name: conf2/part05 #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # doc export PATH; PATH=/bin:$PATH if test ! -d 'doc' then mkdir 'doc' fi cd 'doc' if test -f 'confhelp' then echo shar: will not over-write existing file "'confhelp'" else cat << \SHAR_EOF > 'confhelp' Help File for conf. (/usr/lib/conf/confhelp) Conf is a line oriented multi-user chat program designed to work on any SysV, BSD, or Xenix system. Conf has several advantages over the standard write program supplied with most Unix and Xenix operating systems. o Unlimited users conferencing at once. o 100 separate discussion lines. o Public and private messages in addition to password encrypted messages. o Quick and efficient user interaction. o User definable formats for messages. o Intelligent message display algorithm. A brief description of COLON commands is given below. To learn more about conf, type "man conf" at your shell prompt or ":!man conf" from within conf. :cls {no options} Clear the screen. :exit or :quit {comments} Leave conference. :from FILENAME Take message from file. :help [COMMAND] Print lots of help about a given command. Default prints entire help file. :record [FILENAME] Start recording conference messages to the file specified. If no file is specified and you are not current recording, the default file will be used otherwise the currently record file will be closed and you will stop recording. :reply MESSAGE Reply to last message sent privately. With no args, reply will print the user and tty to send to. :ring USER1 [, USER2, ...] Invite specified users to join you on conf. :send {[USER][, /LINENUMBER][, :TTYNAME][, ...]} MESSAGE Send a private message to a username, ttyname, or line number. When listing a linenumber, the number must be proceeded by a slash '/'. When listing a ttyname, the ttyname must be procceded by a colon ':'. :set {[(no)OPTION][, OPTION=VALUE | OPTION="STRING VALUES" Set a flag or option. If no argument if given to a numeric or string option, the current value will be displayed. :shell {no options} Invoke preferred shell. :shout MESSAGE Send a message to all terminals logged in to conf. Don't use this command thoughtlessly. :to LINENUMBER Switch to a new conference line (1 - 100). If no argument is given, your current conference line will be displayed. :who LINENUMBER List users on conference. With no args, all conference lines are displayed. Who will list users names, ttys, and what lines they are on. If a users name is proceeded by an asterisk '*', that user is currently recording. :version {no options} Print the current version of conf and some credits. :? [COMMAND] Little help. Just print the usage line for a given colon command. If no argument is given conf will displays the names of all commands available to the user. SHAR_EOF fi # end of overwriting check if test -f 'READ_ME' then echo shar: will not over-write existing file "'READ_ME'" else cat << \SHAR_EOF > 'READ_ME' CONF - READ_ME 1 Create a uid and gid for conf. Conf will run setuid as that user/group. (this could be 'bin' or 'conf') 2 Edit config.h and modify anything that needs it. System type, and default options are specified this file. 3 Edit Makefile and modify anything that looks likes it needs it. Pay particular attention to CONFLIB, BINDIR, OWNER, and GROUP. 4 make 5 su (sorry, but to setuid this pup, you must be root) 6 make install 7 rehash [if need be] 8 conf Conf should be running. SHAR_EOF fi # end of overwriting check if test -f 'conf.1' then echo shar: will not over-write existing file "'conf.1'" else cat << \SHAR_EOF > 'conf.1' .TH CONF 1 .SH NAME conf \- conference with other users. .SH SYNOPSIS .B conf [-w][-l linenumber][-s switch] username1 username2 ... .SH DESCRIPTION Conf is a line oriented multi-user chat program designed to work on any SysV, BSD, or Xenix system. .PP Conf has several advantages over the standard write program supplied with most Unix and Xenix operating systems. .RS .TP o You are not limited to the number of users that may be on one conference line. .TP o Some users of conf may switch a separate line to avoid confusion with other discussions. There are 100 separate lines called "conference lines". .TP o Messages that conf users may send may be specific to a line, a user, a tty, or to all users currently on conf (see COLON COMMANDS; reply, send, and shout). .TP o Conf keeps track of who is on conf, what line they are on, and if they are recording messages. This allows users to quickly find out who is using conf and how to send a message to them (see COLON COMMANDS; who). .TP o Conf allows its users to distinguish between, user messages (known as "Normal Messages"), private messages (known as "Send Messages"), system messages (known as "Information Messages"), messages to a line that the sending users is not on (known as "Line Messages"), and messages to all users (known as "Shout Messages"). Conf allows its users to set the type-out mode of any of the message types to a user pleasant format that may or may not include the from-user's name, tty, message, or the to-user's name or tty (see MESSAGES TYPES and MESSAGES FORMATS). .TP o Conf will not print an incoming message until the user has finished typing. Incoming messages will be "held" until the users has sent a message (or otherwise cleared the input buffer). If the user is using the Gnumacs interface, the screen will be updated without imparing the message the user is currently typing. .SH SWITCHES .TP .BI \-l " line number" Set the startup line. The default is 1. .TP .BI \-s " switch" Set option [switch] to the given value. (see OPTIONS) .TP .BI \-w " line number" Display who is using conf on the specified line. If no line number is given, conf with display all users that are currently on conf. .TP .I username Ring .I "username" to join conf. .SH OPTIONS There are three types of options, .I "boolean, numeric," and .I string. Options may be specified in a "rc file" called .confrc in the users home directory, the environment variable CONFOPTS, as parameters to conf using the -s switch, and while running conf with the colon command "set". In any case, options are separated by commas, and may be shortened to the least ambiguous string. .TP .BI "Boolean Options:" Boolean options are set by putting their names the appropriate list. Boolean options may be reset by proceeding their name with a '!' or the word "no". (i.e. "foo" sets the boolean option "foo", "!foo" or "nofoo" would negate (reset) the option "foo") .RS .PP .B banner .RS If set, conf will display its version number and credits when the user logs in. .RE .PP .B beep .RS If set, conf will beep (send a ctrl-G) when a message is displayed on your terminal. .RE .PP .B expandctrl .RS If set, conf will expand control characters to a user visible string (e.g. ctrl-X would be printed as ^X). If this option is negated, all control characters will be passed to the user without modification. .RE .PP .B expand8bit .RS If set, conf will expand any character with bit 7 set to a user visible string (e.g. Meta-X would be printed as ~X). .RE .PP .B seeme .RS If set, the conf will display any "Normal Message" typed by you. If this option is negated, conf will not display "Normal Messages" by you. (see MESSAGE TYPES). .RE .PP .B seemyinform .RS If set, conf will display "Information Messages" by you. If this option is negated, conf will ignore "Information Messages" by you. (see MESSAGE TYPES). .RE .PP Sample: banner,nobeep,noseeme .PP Will set .B banner , but will reset .B "beep, and seeme." .RE .PP .B "Numeric Options:" Numeric options have the form option=number. .RS .PP .B line .RS Conference line number to use. .RE .PP Sample: line=2 .PP Will set .B "line = 2" .RE .PP .B "String Options:" String options take the form option=string or option="space filled string". .RS .PP .B cls .RS Clear screen string. .RE .PP .B name .RS Your conference name. .RE .PP .B inform-format .RS Display format for information messages. (see MESSAGE FORMATS) .RE .PP .B normal-format .RS Display format for normal messages. (see MESSAGE FORMATS) .RE .PP .B send-format .RS Display format for private sends. (see MESSAGE FORMATS) .RE .PP .B shout-format .RS Display format for display shouts. (see MESSAGE FORMATS) .RE .PP .B line-format .RS Display format for display line sends. (see MESSAGE FORMATS) .RE .PP .B recfile .RS The default record file. This is usually "conf.rec". .RE .PP Sample: name=Aggy,recfile="record.conf" .PP Will set .B "name to ``Aggy'' and recfile to ``record.conf''" .RE .SH RC FILE This file contains lists of options and their values or colon commands to execute before logging into conf. Blank lines as well as lines beginning with a '#' or ';' are ignored. .PP Colon commands that require the user to be logged in to execute are invalid in the .confrc file. (e.g., :send, :shout, and :record). .PP A typical RC file might look like this: .PP .nf # # This file is .confrc which you can find in my home directory. # :cls name = "Ag" pager = "/usr/local/bin/less" shell = "/bin/tcsh" banner # End of Confrc file. .fi .SH ENVIRONMENT VARIABLE Conf recognizes several shell variables for defining preferences. .PP .RS .B CONFOPTS .RS This environment variable holds a list of options and their values. A typical environment variable might look like this: .PP CONFOPTS=banner,name="Ag" .RE .PP .B SHELL .RS Your preferred shell. (e.g. SHELL=/bin/sh) .RE .PP .B "PG" or .B "PAGER" .RS Your preferred pager. (e.g. PG=/usr/local/bin/less) .RE .PP .B TERM .RS Your terminal's name. (e.g. TERM=tvi950) .RE .RE .RE .SH MESSAGE TYPES There are several types of messages you can receiving while using conf. .PP .B "Normal Messages:" are messages that get sent to all users on your current line number. You can send a .B "normal messages" by typing a line and pressing return while inside conf. Users may filter Normal Messages from themselves by resetting the .B seeme variable. .PP .B "Information Messages:" are system messages about a certain user. Login, Logouts, and line switching are all forms of .B "Information Messages." Information messages are automaticly sent to all users that are affected by a certain users actions. Users may filter Information Messages by themselves by resetting the .b seemyinform variable. .PP .BI "Send Messages:" are messages sent to a specific user, tty, or line number. They are sent by using the colon command "send" (see COLON COMMANDS) .SH MESSAGE FORMAT You may personalize the way conf prints different messages by modifying the appropriate format string. A format string consists of a null terminated string will text and meta characters. Conf interprets meta characters as follows. .RS .TP .B %N Your conference name. .TP .B %n Name of user sending message. .TP .B %m Message users sent. .TP .B %T Your tty. .TP .B %t Tty of user that sent message. .TP .B %% The character '%' .RE .PP If you wanted normal messages to print only the messages itself you would :set normal-format ="%m^J". If you wanted sends to be display with only the username of the person sending the messages and the messages itself, you would :set send-format ="%n - %m". .SH COLON COMMANDS Any line whose first character is a colon (':') and whose second character *is not* a colon will be interpreted as a "Colon command". A list of colon commands follows. .RS .PP .B ":cls" .RS .PP Clear the screen. .RE .PP .B ":exit" or .B ":quit" .RS .PP Leave conference. .RE .PP .BI ":from" " filename" .RS .PP Take message from file. .RE .PP .BI ":help" " command" .RS .PP Print lots of help about a given command. Default prints entire help file. .RE .PP .BI ":record" " filename" .RS .PP Start recording conference messages to the file specified. If no file is specified and you are not current recording, the default file will be used otherwise the currently record file will be closed and you will stop recording. .RE .PP .BI ":reply" " message" .RS .PP Reply to last message sent privately. With no args, reply will print the user and tty to send to. .RE .PP .BI ":ring" " user1, user2, ..." .RS .PP Invite specified users to join you on conf. .RE .PP .BI ":send" " user, /linenumber, :ttyname,... message" .RS .PP Send a private message to a username, ttyname, or line number. When listing a linenumber, the number must be proceeded by a slash '/'. When listing a ttyname, the ttyname must be procceded by a colon ':'. .RE .PP .BI ":set" " [no]option, option=value" .RS .PP Set a flag or option. If no argument if given to a numeric or string option, the current value will be displayed. .RE .PP .B ":shell" .RS .PP Invoke preferred shell. .RE .PP .BI ":shout" " message" .RS .PP Send a message to all terminals logged in to conf. Don't use this command thoughtlessly. A frequent use on our system is ":shout Everyone off of conf, I'm installing a version without bugs!". :-) .RE .PP .BI ":to" " line number" .RS .PP Switch to a new conference line (1 - 100). If no argument is given, your current conference line will be displayed. .RE .PP .BI ":who" " line number" .RS .PP List users on conference. With no args, all conference lines are displayed. Who will list users names, ttys, and what lines they are on. If a users name is proceeded by an asterisk '*', that user is currently recording. .RE .PP .B ":version" .RS .PP Print the current version of conf and some credits. .RE .PP .BI ":?" " command" .RS .PP Little help. Just print the usage line for a given colon command. If no argument is given conf will displays the names of all commands available to the user. .RE .RE .SH LINE EDITING Conf supports limited line editing features. While you are typing a line, the following "control" characters will be interpreted as line editing characters: .PP (A character proceeded by a caret '^' symbolize control characters. You must hold down the "Control key" and press the given letter to get these characters) .RS .TP .B "^C" Abort this line. .TP .B "^D" If this is the first character on the line, conf will log you out. .TP .B "^H, DEL" Delete the last character typed. .TP .B "^J, ^M" End of line. Conf will its voodoo on this line. .TP .B "^L" Clear screen and display current line. .TP .B "^Q, ^S" X-ON , X-OFF is you have them set. .TP .B "^R" CRLF and reprint line. .TP .B "^W" Delete last word. .TP .B "^Z" Stop process (if supported on your system). .RE .SH ELEPHANT TALK There is a jargon that goes along with online tty communication. The list that follows will give you an idea of how to interpret local jargoneese. (Stolen, without permission from MIT's OZ:<COMMON>:JARGON.TXT) .RS .TP .B "Ack!" Term of disgust (from Bill the Cat's, "Ackphtft!") .TP .B BCNU Be seeing you. .TP .B BTW By the way... .TP .B "Bye?" Are you ready to logout? (This is the standard way to end a conference; the other users type BYE to confirm, or else continue the conversation.) .TP .B CUL See you later. Variation: "CULater" .TP .B "Foo?" A greeting, also meaning R U THERE? Used to confirm a if a user is at the terminal. Also meaning, "What's up?". .TP .B FYI For your information... .TP .B "Hello-p" A greeting, also meaning R U THERE? (An instance of the "-P" convention.) .TP .B MtFBWY May the Force be with you. (From Star Wars.) .TP .B Nil No. .TP .B OBTW Oh, by the way... .TP .B "R U There?" Are you there? .TP .B Sec Wait a second (sometimes written SEC...). .TP .B T Yes. .TP .B TNX Thanks. .TP .B "TNX 1.0E6" Thanks a million (humorous). .TP .B "/\\\\\\\\\\\\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\\\\" The equivalent of a giggle. .TP .B [message] A message surrounded by square brackets "[]" is considered for information purposes or for explaining a users physical expression. Typical examples include: .RS .TP .B [Chuckle] The users is amused. .TP .B [Confused] The user is confused on a particular subject. .TP .B [Sigh] To indicate a sadness or "Sigh of relief". .TP .B [To Restroom] The user will be away from the screen to take care of some business. .RE .RE .SH CONF AND EMACS .B conf.el The conf users of conf are provided with a emacs lisp function that will allow them to run conf as a subprocess of emacs (if they compiled emacs with #define subprocesses). This gives the users several added features that they would not normally have without emacs. .RS .TP o The user may receive messages while he/she is typing messages. .TP o Emacs will keep a transaction of all messages in the buffer "*conference*" which previous sends can be looked at if they were missed. .TP o Auto-fill of incoming messages. .TP o The "warm-fuzzy" -- emacs full screen editing. .RE .PP To use conf.el, copy it (probably from /usr/lib/conf/conf.el) into your .emacs file and M-X conference. .SH FILES .RS .PP /usr/lib/conf/confhelp - Help file. .PP /usr/lib/conf/conflog - Messages transaction file. .PP /usr/lib/conf/confusers - User log file. .PP /usr/lib/conf/conf.lock - A lock file. .RE .SH BUGS .B "Known Bugs:" .RS If a SIG_INT (^C) is done while messages are being saved to the record file, parts of the messages may be hacked off. This is a feature. fnord. .RE .B "Reporting bugs or suggestions:" .RS Send any bugs reports, fixes, or improvements to ag@portnoy.UUCP or ag@crash.UUCP. I am always open to coherent suggestions or comments. .RE .SH IMPROVEMENTS Several things are in the works. I have listed some major and minor improvements below. .PP This documentation. .PP Online documentation should include information about variables and more information about HOW TO. .PP There should be a way to set default settings for strings. So, if a user user really spazzes, they may reset to defaults. This can be taken care of (now) by logging out and re-logging into conf. .PP A Remote conf is being thought of, ideas here would be appreciated. Maybe conf could be a service on the remote site which would copy any file activity to the local site. Re-organizing the conflog structs to work on any machine would have to be done. .PP The confusers files should be done with shared memory (if the system has it). This would allow conf to update the "memory" with information like idle time and such. The biggest problem with conf is that users cannot tell if a person is in the middle of typing a message or if a user has been shot and is slumped over the keys. Constantly updating a shared file would drag the system down, so idle time will be done in shared memory only. If anyone has any suggestions ... .PP :ignore user/tty/sends/shouts will be implemented someday. .PP Some way of hi-lighting text, probably using cryptic escape sequences. There is a definite need for highlighting in the format strings. .PP Format strings should be checked for validity. Check '%m' and a linefeed at the end and warn if they don't exist. .SH AUTHOR .RS .PP Keith M. Gabryelski (ag@elgar.UUCP) .PP Special thanks to: .RS .PP Michael Ditto (ford@kenobi.UUCP) .RE .RE SHAR_EOF fi # end of overwriting check if test -f 'conf.txt' then echo shar: will not over-write existing file "'conf.txt'" else cat << \SHAR_EOF > 'conf.txt' CONF(1) XENIX System V CONF(1) NAME conf - conference with other users. SYNOPSIS conf [-w][-l linenumber][-s switch] username1 username2 ... DESCRIPTION Conf is a line oriented multi-user chat program designed to work on any SysV, BSD, or Xenix system. Conf has several advantages over the standard write program supplied with most Unix and Xenix operating systems. o You are not limited to the number of users that may be on one conference line. o Some users of conf may switch a separate line to avoid confusion with other discussions. There are 100 separate lines called "conference lines". o Messages that conf users may send may be specific to a line, a user, a tty, or to all users currently on conf (see COLON COMMANDS; reply, send, and shout). o Conf keeps track of who is on conf, what line they are on, and if they are recording messages. This allows users to quickly find out who is using conf and how to send a message to them (see COLON COMMANDS; who). o Conf allows its users to distinguish between, user messages (known as "Normal Messages"), private messages (known as "Send Messages"), system messages (known as "Information Messages"), messages to a line that the sending users is not on (known as "Line Messages"), and messages to all users (known as "Shout Messages"). Conf allows its users to set the type-out mode of any of the message types to a user pleasant format that may or may not include the from-user's name, tty, message, or the to-user's name or tty (see MESSAGES TYPES and MESSAGES FORMATS). o Conf will not print an incoming message until the user has finished typing. Incoming messages will be "held" until the users has sent a message (or otherwise cleared the input buffer). If the user is using the Gnumacs interface, the screen will be updated without imparing the message the user is currently typing. Page 1 (printed 4/22/88) CONF(1) XENIX System V CONF(1) SWITCHES -l line number Set the startup line. The default is 1. -s switch Set option [switch] to the given value. (see OPTIONS) -w line number Display who is using conf on the specified line. If no line number is given, conf with display all users that are currently on conf. username Ring username to join conf. OPTIONS There are three types of options, boolean, numeric, and string. Options may be specified in a "rc file" called .confrc in the users home directory, the environment variable CONFOPTS, as parameters to conf using the -s switch, and while running conf with the colon command "set". In any case, options are separated by commas, and may be shortened to the least ambiguous string. Boolean Options: Boolean options are set by putting their names the appropriate list. Boolean options may be reset by proceeding their name with a '!' or the word "no". (i.e. "foo" sets the boolean option "foo", "!foo" or "nofoo" would negate (reset) the option "foo") banner If set, conf will display its version number and credits when the user logs in. beep If set, conf will beep (send a ctrl-G) when a message is displayed on your terminal. expandctrl If set, conf will expand control characters to a user visible string (e.g. ctrl-X would be printed as ^X). If this option is negated, all control characters will be passed to the user without modification. expand8bit If set, conf will expand any character with bit 7 set to a user visible string (e.g. Meta-X would be printed as ~X). seeme Page 2 (printed 4/22/88) CONF(1) XENIX System V CONF(1) If set, the conf will display any "Normal Message" typed by you. If this option is negated, conf will not display "Normal Messages" by you. (see MESSAGE TYPES). seemyinform If set, conf will display "Information Messages" by you. If this option is negated, conf will ignore "Information Messages" by you. (see MESSAGE TYPES). Sample: banner,nobeep,noseeme Will set banner , but will reset beep, and seeme. Numeric Options: Numeric options have the form option=number. line Conference line number to use. Sample: line=2 Will set line = 2 String Options: String options take the form option=string or option="space filled string". cls Clear screen string. name Your conference name. inform-format Display format for information messages. (see MESSAGE FORMATS) normal-format Display format for normal messages. (see MESSAGE FORMATS) send-format Display format for private sends. (see MESSAGE FORMATS) shout-format Display format for display shouts. (see MESSAGE FORMATS) line-format Display format for display line sends. (see Page 3 (printed 4/22/88) CONF(1) XENIX System V CONF(1) MESSAGE FORMATS) recfile The default record file. This is usually "conf.rec". Sample: name=Aggy,recfile="record.conf" Will set name to ``Aggy'' and recfile to ``record.conf'' RC FILE This file contains lists of options and their values or colon commands to execute before logging into conf. Blank lines as well as lines beginning with a '#' or ';' are ignored. Colon commands that require the user to be logged in to execute are invalid in the .confrc file. (e.g., :send, :shout, and :record). A typical RC file might look like this: # # This file is .confrc which you can find in my home directory. # :cls name = "Ag" pager = "/usr/local/bin/less" shell = "/bin/tcsh" banner # End of Confrc file. ENVIRONMENT VARIABLE Conf recognizes several shell variables for defining preferences. CONFOPTS This environment variable holds a list of options and their values. A typical environment variable might look like this: CONFOPTS=banner,name="Ag" SHELL Your preferred shell. (e.g. SHELL=/bin/sh) PG or PAGER Your preferred pager. (e.g. Page 4 (printed 4/22/88) CONF(1) XENIX System V CONF(1) PG=/usr/local/bin/less) TERM Your terminal's name. (e.g. TERM=tvi950) MESSAGE TYPES There are several types of messages you can receiving while using conf. Normal Messages: are messages that get sent to all users on your current line number. You can send a normal messages by typing a line and pressing return while inside conf. Users may filter Normal Messages from themselves by resetting the seeme variable. Information Messages: are system messages about a certain user. Login, Logouts, and line switching are all forms of Information Messages. Information messages are automaticly sent to all users that are affected by a certain users actions. Users may filter Information Messages by themselves by resetting the variable. Send Messages: are messages sent to a specific user, tty, or line number. They are sent by using the colon command "send" (see COLON COMMANDS) MESSAGE FORMAT You may personalize the way conf prints different messages by modifying the appropriate format string. A format string consists of a null terminated string will text and meta characters. Conf interprets meta characters as follows. %N Your conference name. %n Name of user sending message. %m Message users sent. %T Your tty. %t Tty of user that sent message. %% The character '%' If you wanted normal messages to print only the messages itself you would :set normal-format ="%m^J". If you wanted sends to be display with only the username of the person sending the messages and the messages itself, you would :set send-format ="%n - %m". COLON COMMANDS Any line whose first character is a colon (':') and whose Page 5 (printed 4/22/88) CONF(1) XENIX System V CONF(1) second character *is not* a colon will be interpreted as a "Colon command". A list of colon commands follows. :cls Clear the screen. :exit or :quit Leave conference. :from filename Take message from file. :help command Print lots of help about a given command. Default prints entire help file. :record filename Start recording conference messages to the file specified. If no file is specified and you are not current recording, the default file will be used otherwise the currently record file will be closed and you will stop recording. :reply message Reply to last message sent privately. With no args, reply will print the user and tty to send to. :ring user1, user2, ... Invite specified users to join you on conf. :send user, /linenumber, :ttyname,... message Send a private message to a username, ttyname, or line number. When listing a linenumber, the number must be proceeded by a slash '/'. When listing a ttyname, the ttyname must be procceded by a colon ':'. :set [no]option, option=value Set a flag or option. If no argument if given to a numeric or string option, the current value will be displayed. Page 6 (printed 4/22/88) CONF(1) XENIX System V CONF(1) :shell Invoke preferred shell. :shout message Send a message to all terminals logged in to conf. Don't use this command thoughtlessly. A frequent use on our system is ":shout Everyone off of conf, I'm installing a version without bugs!". :-) :to line number Switch to a new conference line (1 - 100). If no argument is given, your current conference line will be displayed. :who line number List users on conference. With no args, all conference lines are displayed. Who will list users names, ttys, and what lines they are on. If a users name is proceeded by an asterisk '*', that user is currently recording. :version Print the current version of conf and some credits. :? command Little help. Just print the usage line for a given colon command. If no argument is given conf will displays the names of all commands available to the user. LINE EDITING Conf supports limited line editing features. While you are typing a line, the following "control" characters will be interpreted as line editing characters: (A character proceeded by a caret '^' symbolize control characters. You must hold down the "Control key" and press the given letter to get these characters) ^C Abort this line. ^D If this is the first character on the line, conf will log you out. ^H, DEL Page 7 (printed 4/22/88) CONF(1) XENIX System V CONF(1) Delete the last character typed. ^J, ^M End of line. Conf will its voodoo on this line. ^L Clear screen and display current line. ^Q, ^S X-ON , X-OFF is you have them set. ^R CRLF and reprint line. ^W Delete last word. ^Z Stop process (if supported on your system). ELEPHANT TALK There is a jargon that goes along with online tty communication. The list that follows will give you an idea of how to interpret local jargoneese. (Stolen, without permission from MIT's OZ:<COMMON>:JARGON.TXT) Ack! Term of disgust (from Bill the Cat's, "Ackphtft!") BCNU Be seeing you. BTW By the way... Bye? Are you ready to logout? (This is the standard way to end a conference; the other users type BYE to confirm, or else continue the conversation.) CUL See you later. Variation: "CULater" Foo? A greeting, also meaning R U THERE? Used to confirm a if a user is at the terminal. Also meaning, "What's up?". FYI For your information... Hello-p A greeting, also meaning R U THERE? (An instance of the "-P" convention.) MtFBWY May the Force be with you. (From Star Wars.) Nil No. OBTW Oh, by the way... R U There? Page 8 (printed 4/22/88) CONF(1) XENIX System V CONF(1) Are you there? Sec Wait a second (sometimes written SEC...). T Yes. TNX Thanks. TNX 1.0E6 Thanks a million (humorous). /\/\/\ The equivalent of a giggle. [message] A message surrounded by square brackets "[]" is considered for information purposes or for explaining a users physical expression. Typical examples include: [Chuckle] The users is amused. [Confused] The user is confused on a particular subject. [Sigh] To indicate a sadness or "Sigh of relief". [To Restroom] The user will be away from the screen to take care of some business. CONF AND EMACS conf.el The conf users of conf are provided with a emacs lisp function that will allow them to run conf as a subprocess of emacs (if they compiled emacs with #define subprocesses). This gives the users several added features that they would not normally have without emacs. o The user may receive messages while he/she is typing messages. o Emacs will keep a transaction of all messages in the buffer "*conference*" which previous sends can be looked at if they were missed. o Auto-fill of incoming messages. o The "warm-fuzzy" -- emacs full screen editing. To use conf.el, copy it (probably from Page 9 (printed 4/22/88) CONF(1) XENIX System V CONF(1) /usr/lib/conf/conf.el) into your .emacs file and M-X conference. FILES /usr/lib/conf/confhelp - Help file. /usr/lib/conf/conflog - Messages transaction file. /usr/lib/conf/confusers - User log file. /usr/lib/conf/conf.lock - A lock file. BUGS Known Bugs: If a SIG_INT (^C) is done while messages are being saved to the record file, parts of the messages may be hacked off. This is a feature. fnord. Reporting bugs or suggestions: Send any bugs reports, fixes, or improvements to ag@portnoy.UUCP or ag@crash.UUCP. I am always open to coherent suggestions or comments. IMPROVEMENTS Several things are in the works. I have listed some major and minor improvements below. This documentation. Online documentation should include information about variables and more information about HOW TO. There should be a way to set default settings for strings. So, if a user user really spazzes, they may reset to defaults. This can be taken care of (now) by logging out and re-logging into conf. A Remote conf is being thought of, ideas here would be appreciated. Maybe conf could be a service on the remote site which would copy any file activity to the local site. Re-organizing the conflog structs to work on any machine would have to be done. The confusers files should be done with shared memory (if the system has it). This would allow conf to update the "memory" with information like idle time and such. The biggest problem with conf is that users cannot tell if a person is in the middle of typing a message or if a user has been shot and is slumped over the keys. Constantly updating a shared file would drag the system down, so idle time will be done in shared memory only. If anyone has any suggestions ... Page 10 (printed 4/22/88) CONF(1) XENIX System V CONF(1) :ignore user/tty/sends/shouts will be implemented someday. Some way of hi-lighting text, probably using cryptic escape sequences. There is a definite need for highlighting in the format strings. Format strings should be checked for validity. Check '%m' and a linefeed at the end and warn if they don't exist. AUTHOR Keith M. Gabryelski (ag@elgar.UUCP) Special thanks to: Michael Ditto (ford@kenobi.UUCP) Page 11 (printed 4/22/88) SHAR_EOF fi # end of overwriting check cd .. # End of shell archive exit 0 -- "If green is all there is to be, then green is good enough for me" - ktf [ Keith ] UUCP: {ucsd, cbosgd!crash, sdcsvax!crash, nosc!crash}!elgar!ag [Gabryelski] INET: ag@elgar.cts.com ARPA: elgar!ag@ucsd.edu -- Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.