Written by Ronald van Loon, August 27, 1991 (IRCNICK : rvl) [ PART THREE : CUSTOMIZING YOU
Written by Ronald van Loon, August 27, 1991 (IRCNICK : rvl)
[ PART THREE : CUSTOMIZING YOUR OWN ENVIRONMENT - VARIABLES AND DEFAULTFILES ]
Most of the information in this file can be obtained by issuing :
(NOTE : does not work when using the irc-program !)
In this part, I will assume the following :
- You have read Part One and Part Two of this introduction, and you understand
most of it ; you know how to deal with messages send to you, and how to have
conversations with people on channels.
- You know what environment variables are and how to set them ; if you don't,
a brief recap of the procedure follows below - you should however, go out
and read a book on UNIX.
Issue the following command :
if the computer's response is :
.../sh or : .../bash or : .../ksh
(where ... is a directory name (usually /bin))
then use the following :
="" ; export
---- Example :
IRCNAME="Ronald van Loon" ; export IRCNAME
(This sets the variable 'IRCNAME' to the value 'Ronald van Loon' and makes
its value available to all programs)
In all (?) other cases, (.../csh .../tcsh etc.)
---- Example :
setenv IRCNAME "Ronald van Loon"
To make sure what you did was correct, issue the :
command, the computer's response should be the value you just gave it.
This should be enough to help you understand, or in any case use the
information in the next section.
IRC II and Environment Variables
IRC II will use the values of the following environmentvariables, if set :
IRCNICK : Specifies the nickname you will have when you initially start irc.
You can change it afterwards, obviously, with /NICK. See also part
one of this tutorial.
IRCNAME : Specifies the name people will see when they issue a /WHO or /WHOIS
command. Useful for people who use other people's accounts, or in
general to reflect the state of mind you are in today.
---- Example :
$ IRCNAME='Crazy Harry' ; export IRCNAME
$ IRCNICK='rvl' ; export IRCNICK
IRC : *** Welcome to the Internet Relay Network, rvl
: /WHOIS rvl
IRC : *** rvl is firstname.lastname@example.org (Crazy Harry) on channel *private*
TERM : Specifies your terminal type ; if this variable is set to the wrong
value, IRC may behave rather strange. Also beware that at some
systems IRC II tends to disturb certain settings on your terminal,
so your terminal may act strange after using IRC II.
HOME : This tells IRC II where your Home directory is. (The directory where
your files are).
TERM and HOME are usually set when you login, so in most cases there's no need
to set them manually.
There are three other environment variables IRC uses, but those will be
mentioned at the appropriate places throughout this tutorial.
IRC II and Initialisation Files
When you use IRC II on a (semi)regular basis, you will discover that every
time you start the program you will issue the same initialisation sequence.
If that is the case, I have good news for you : you don't have to do that
anymore ! IRC II will, at start up, load a file called ".ircrc" (full path:
$HOME/.ircrc). It will treat each line in that file as if you typed it
manually. For example, if the contents or your .ircrc file is :
.ircrc : /COMMENT This is definitely *NOT* a typical .ircrc file
.ircrc : /NICK rvl
.ircrc : /JOIN +my_channel
Obviously, the ".ircrc :"-bit should not be present in the file. What will
happen is the following :
IRC II loads the .ircrc file, executing your commands one by one :
The /COMMENT will be ignored, /COMMENT is typically used in .ircrc-files to add
comments to following lines. Second, the /NICK rvl line is read and executed,
thus setting your nick to 'rvl'. Last, you will join a channel called
'+my_channel', when the /JOIN-line is read and executed. NOTE : it is in
general not a good idea to set your nick in .ircrc files, as it makes using
IRC II less flexible. Use the environment variable IRCNICK instead, or use the
command-line option, described elsewhere.
The .ircrc file is a so-called defaultfile; you use it to tailor IRC II to
your needs ; you can, however, also create other files with IRC II commands in
them - 'batch files' - and use the /LOAD command.
/LOAD Loads the given file into irc, treating each line
as an irc command, just as if it were typed into
the command line. (Actually, there's more than
meets the eye here, but I will postpone further
explanation until I go into ALIASes and such.).
IRC II provides a number of batchfiles, ready to
/LOAD. See also /HELP LOAD.
You can change where IRC II looks for files by setting the IRCPATH variable.
The value of this variable should be a colon-separated (:) list of directories,
in which your files are stored.
Changing IRC II's behaviour
To make your life easier (or hopelessly complicated ;-) IRC II has about 543
different variables, all of which control different parts of IRC II.
Typically, you will store your favorite set of variable settings in your
.ircrc. You set, reset and unset variables with the /SET command :
/SET Shows settings of all variables
/SET Shows setting of . It is also useful
to show settings of variables starting with a
/SET - If is a text (string) variable, it
will be set to the NULL string ("").
Sets the value of to ,
provided is a valid value for this
Flavours of Variables
There are five kinds of variables:
Type Ref. Valid Values
======= ==== =============================================
Boolean : BOOL : ON, OFF, TOGGLE
Level : LVL : PUBLIC, MSG, NOTICE, WALL, WALLOP, NOTE, CRAP
Integer : INT : 0,1,2 ...
String : STR :
Hybrid : HYBR : A combination of the four above.
This kind of variable is either ON or OFF. If you specify TOGGLE when
/SETting, it will go from ON to OFF or vice versa.
This kind of variable is used in situations where IRC II needs to classify
kinds of messages :
PUBLIC : Messages on a channel
MSG : Private messages (MSGs)
NOTICE : Notices
WALL : WALL message (a message sent to everyone on IRC)
WALLOP : a WALLOP message (you only get those when you are an IRC Operator)
NOTE : A (server) NOTE message
CRAP : Everything not covered by the six message levels above.
NONE : None of the above.
You can also specify multiple levels, separated by spaces, or specify ALL, and
going down from there by preceding the levels you don't want included with a
ALL is equivalent to : PUBLIC MSG NOTICE WALL WALLOP NOTE CRAP
PUBLIC MSG NOTIC is equivalent to ALL -WALL -WALLOP -CRAP -NOTE
Your average cardinal type.
A sequence of characters. For certain variables, certain restrictions apply.
A combination of all or any of the above.
General Purpose Variables
I will now describe the variables that are "General Purpose", which means that
they are not connected with other IRC commands, like /ON or /ALIAS. In the
following, I will not give many examples, as obviously a variable controls
certain conditions rather than reflecting an immediate change of environment.
Also note that the order in which variables are listed, is arbitrary.
AUTO_UNMARK_AWAY : BOOL
ON : whenever this variable is ON, you will be automatically unmarked as being
AWAY whenever you send a message to a channel or send a private message.
(Equivalent to issueing the /AWAY command with no arguments)
OFF: Your AWAY-status remains the same, unless you issue the /AWAY command.
See also : /AWAY in tutorial one.
AUTO_WHOWAS : BOOL
ON : in cases where /WHOIS would result in
: No such nickname
a /WHOWAS will automatically be generated.
OFF: You will not be bothered by /WHOWAS's
BEEP - how to avoid or limit the amount of BEEPs (^G's) received
BEEP : BOOL
ON : All BEEPs will be heard at the terminal
OFF: All ^G (Control-G) characters will be shown as reversed 'G's.
The setting of this variable does not affect the BEEPs generated by the
BEEP_ON_MSG variable and the BEEP_WHEN_AWAY variable.
BEEP_MAX : INT
This variable indicates the maxinum number of beeps you will hear for any
given message ; e.g. if this variable is set to '1', and a message sent to you
contains 10 beeps, only '1' will be heard.
0 : All BEEPs in the message will be heard
>0: See explanation.
BEEP_ON_MSG : LVL
The message in the class(es) indicated by this variable will generate an
audible beep on your terminal. For example, if you set this variable to MSG,
then every private MSG you receive will generate an audible BEEP.
BEEP_WHEN_AWAY : INT
When you've /AWAYed, a number of BEEPs will be generated upon receipt of a
0 : do not generate beeps
>0: specifies the number of BEEPs generated.
MAIL : INT
By setting this variable, IRC, will tell you when new mail arrives - the
client must be installed properly for this to function. See also : part four,
in which the wonders of the Status Line are revealed.
0 : do not check for Mail
1 : when mail arrives, display the message : You have new mail. Also, an
optional indicator in your status line will tell you how many messages
you have in your mailbox.
2 : all the functionality of 1, but IRC will also show the three first lines
of the message.
[ END OF PART THREE : PART FOUR WILL DEAL WITH THE REMAINING VARIABLES AND
THE STATUSLINE ]
E-Mail Fredric L. Rice / The Skeptic Tank