#
# This file contains a sample .zirconrc file and explains the options
# that can be set and the effect they have. Th easiest way to do all
# this is to use the configuration panels provided by the zircon
# system itself. The file is in fact a tcl script that is executed by
# zircon when it startsup.
#

#
# The following line must be present for your continued zircon pleasure...

preferences format 1
#
#nick YourNick
#nick AnotherNick
#nick AndAnother
# 
# This sets up a list of nicknames you like to use on IRC. The first
# item in the list is the one that will be used when connecting to a
# server.

#ircname {An IRC Name}
#ircname {Another IRC Name}
# 
# This sets up a list of ircnames you like to use on IRC. The first
# item in the list is the one that wil be used when connecting to a
# server. You cannot change the value of your ircname without
# reconnecting to the server.

#Server server.irc.org
#Server another.server.irc.org -port Port
#Server me.too.irc.org -port Port -oper opername -operpw passwd -script {...}
# 
#Server :: select server.irc.org
#
# The Server command introduces a new server to the system. The first
# parameter is the name of the server. The other parameters can be :
#
# -host hostname : by default the hostname is the name of the object
# -port portnumb : by default the port number is 6667
# -oper nickname : this will be sent to log you in as an IRC operator
# -operpw passwd : this will be sent with the previous nickname
# -script ...    : this is a feature under development but will allow
#		 : connection scripts for firewalled servers etc.
#
# You will normally only need the first form of the command. You
# should then use the Server :: select command to indicate your first 
# choice of IRC server to connect to.

#Channel *default* -open 1 -close 1 -closetime 120 -history 10 -quiet 0 \
#  -draw 0 -scrollback 50
#Channel #hottub -menu 1
#Channel #hotsex -open 1 -close 1 -menu 1 \
#  -msg {!JOIN !LEAVE !MODE !QUIT !TOPIC} -topics {{My Favourite Topic}}
# 
# This command sets up information about your favourite channels. The
# easiest way to set it up is to use the Channels configuration panel.
# This allows you to set up all the fields, except for the topics field
# which can be altered directly from the channel itslef using the
# Topic menu. You should set the channel *default* to have the default values
# for properties. Currently the default properties apply also to the
# info window. Note that if you wish to have a message window started
# up then you should use :
#
# Message somebody -join 1 etc. etc.
#
# The available options are :
#
# join		: join the channel on connection to the server
# open		: Popup the window when something happens in it
# close		: Close the window if it has been inactive for some time.
# closetime	: This the number of seconds before close takes effect
# quiet		: This turns off the bell
# jump		: This controls whether scrolling always jumps to the
#		  end when new text arrives.
# msg		: This a list of the information messages you want *NOT* to be
#		  sent to the channel. Possible values are :
#	JOIN 	- messages when people join channels
#	LEAVE	- messages when people leave channels
#	TOPIC	- messages indicating the topic has changed (The topic
#		  is always visible for a channel so you dont miss
#		  changes if you dont have this message)
#	QUIT	- messages when people QUIT irc.
#	MODE	- messages when there are mode changes
#	KICK	- messages when people are kicked from channels
#	KILL	- messages when people are killed from IRC.
#
# logfile	: The name of a file to which logging should be sent.
# key		: They key for the channel if any.
# icon		: A list of two icons one for normal use and one for
#		  when the channel has activity in it.
# topics	: A list of topics you would like attached to the
#		  Topic button.
# history	: The number of lines you typed to be kept as history.
# scrollback	: The number of lines you can scroll back in the
#		   window.
# ircIImode	: The ircIImode setting for this channel.
# ops		: A list of regular expressions for people you wish to
#		  auto-op when they join a channel.
# foreground
# background
# font
# width
# height	: these configure window defaults.

#Chat *default* -open 1 -close 1 -closetime 120 -history 10 -quiet 0 \
#  -buttons 0 -scrollback 50
# This sets up default information for DCC Chat windows.

#Message *default* -open 1 -close 1 -closetime 120 -history 10 -quiet 0 \
#  -buttons 0 -draw 0 -scrollback 50
# This sets up default information for Message windows.

#Notice *default* -open 1 -close 1 -closetime 120 -history 10 -quiet 0 \
#  -buttons 0 -scrollback 50
# This sets up default information for Notice windows.

#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#
# When modifying zircon variables use the command "net" rather than
# the standard tcl/tk "set" command. This is very important
#
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


#
#--------------------------------------------------
# Variables that control the Channel Listing process

# net showPublic 1
# showPublic controls whether or not public channels are shown in the
# listing. 1 means show, 0 don't show

# net showLocal 1
# showLocal controls whether or not local channels are shown in the
# listing. (local channels have names that start with an & rather than
# a #). 1 means show, 0 don't show

# net showPrivate {0}
# showPrivate controls whether or not private channels are shown in the
# listing. 1 means show, 0 don't show This is a pretty useless
# facility but is there because it is in irc II!!!

# net topicOnly 0
# If topicOnly is set to 1 then only channels with a topic set will be listed.

# net minMembers 3
# Only channels with >= minMembers will be listed

# net maxMembers 0
# Only channels with <= maxMembers will be listed. If maxmembers == 0
# then this is ignored.

# net listPattern {.*}
# Only channels whose names match this pattern will be listed. The
# patterns are full regular expressions rather than "glob" type
# patterns. They are fully documente din teh tcl manual or in the manual
# page for the regexp command. The pattern .* matches everything.

# net topicPattern {.*}
# Only channels whose names match this pattern will be listed.
# Patterns are as above.

# net noRefresh 1
# If noRefresh is set to 0 then Zircon will do a channel LIST when it
# starts up. This is not recommended!!

#------------------------------------------------------------------------
# Variables that control messages and dialog boxes

# net signoff {I run Zircon}
# This is the message that gets sent when you quit IRC.`

# net noConfirm { QUIT LEAVE KILL}
# Certain zircon actions cause dialog boxes to be popped up. It is
# possible to indicate that for certain of these you always wish to
# conform the action. Possible values are :
#	QUIT	- always quit IRC when the quit button is pressed
#	LEAVE	- always leave the channel when the leave button is pressed
#	KILL	- always carry out KILL operations
#	SAVECONF- always quit zircon without updating confifguration file

# net toInfo {ERROR SIGNOFF INFO}
# Certain information messages can appear either in channel windows or
# as pop up windows. It is possible to divert some of these to the
# zircon information window. Possible values are:
#	ERROR	- error messages are sent to info rather than a pop up
#	SIGNOFF	- When users quit do not indicate this in the channel
#		  windows to which they have been talking.
#	INFO	- Send the output of the server INFO request to the
#		  information window.
#	STATS	- ditto for the STATS command
#	LINKS	- ditto for the LINKS command
#	CTCP	- ditto for CTCP replies
#	KILL	- When you are KILLEd messages is sent to info
#	CLOSE	- When connection closes message is sent to INFO.

#net alwayslog {KILL CLOSE}
# This takes the same values as toInfo and those messages will always
# be logged to the Info window even if they are displayed in their own
# window as well.

# net verboseCTCP 0
# If verboseCTCP is 1 then information about CTCP messages iwll be
# sent to the informmation window

# net helpService {}
# This variable should contain the nick of an IRC help service. Help
# messages will be sent there by the Help button. Not useful anymore

# net killPath 1
# If you are receiving server messages then if killPath is set to 1
# then the path will be removed from KILL messages.

#--------------------------------------------------------------------------
# Variables that control window behaviour

# net popInfo 1
# If popInfo is 1 then the information window will pop up when
# something appears in it, assuming that is that it has been closed!

# net friendsOn 1
# If friendsOn is set to 1 then the friends panel will only only show
# those friends who are actually on IRC.
#----------------------------------------------------
#away {Meeting}
#away {Telephone}
#away {Coffee Time}
# 
# Useful away messages for the Away menu

#action	{despairs}
#action {smiles}
#action {giggles}
#action {bingles}
#
# Useful actions for the Action menu on channels.

# net invisible 0
# net wallops 0
# net srvmsg 0
# These, if set to 1, set you as invisible, get you wallops or get you
# server messages. You dont really want any of these do you?

# Service veg-bot -ops HELP
# Service nickname -host server -ops {MENU ITEMS}
#
# These are service providers you talk to regularly.
# The name is the nick of the service. The host
# is the server where the service is to be found so that security can be
# maintained (it can be omitted though) and ops is a list of
# commands that can be sent to the service. NoteServ and NickServ are
# already built into zircon so you dont need to add them.

# Friend Nick
# Friend Nick2 -notify 1 
#
# This command introduces your friends to the system. The second form
# also marks the user as notifiable i.e. you will be informed of their
# logins and logouts. If friendsOn is 1 ALL friends are assumed to be
# notifiable.
#
# You can protect your friends from hostile mode changes etc. Use the
# -protect option. The format is like this:
#   
#   -protect {
#   	    {<channel name regexp>
#	      { {<mode regexp> <friend actions> <cuprit actions>} ... } }
#	    ...
#       }
#
#   The channel name regexp matches the name of the channel.
#   The mode regexp matches the operation e.g. -o or \+b. Use ! to mean kicked and
#   # to mean killed. (Remember that + is a special character in regular expressions
#   so must be escaped!!)
#   
#   Friend actions can be taken from reop, deop, speak, silence, unban and reban.
#   Reban, deop and silence are more useful for enemies than friends...... I may
#   add an Enemy declaration which is just like Friend.
#
#   Culprit actions can be taken from deop, kick, silence, ban, msg and notice. 
#   msg and notice are formatted as {msg Text to be sent} and {notice Text to 
#   be sent}. Kick can also be used with a message {kick DON'T DO THAT!!}. If
#   you don't give a message to kick then "<user nick> is protected!"
#   is used.
#   
#   You can have a list of actions. Here's an example:
#   
#   Friend Nick -protect { {#channel9 { {-o reop deop} {! {} {kick ban {msg Serves you right}} } } } }
#
#
# ignore {fis!*@*demon.co.uk} notices public invites wallops notes ctcp others
# This command allows you to ignore various messages from users. Set
# it up from the People configuration panel.

# on JOIN {.+ nlfm!.+@.+} { code }
# on JOIN {.+ ScottM!.+@.+} { code }
# This allows you set up on conditions (but dont do opping like this -
# use the auto-op feature of Channels to do it!!!!)
#
#	on JOIN {Pattern List} {action}
#
#
# This will add it to the ons list for you. The Pattern List holds
# full regular expressions NOT glob style patterns. Patterns are
# matched case insensitively. The first pattern for JOIN
# matches channel name and the second matches nick!user@host. When a
# match is found the variables onPar0 and onPar1 are set to the values
# that were matched. Other events can be matched but are currently
# undocumented. The most useful is perhaps STARTUP. This will be
# executed when you connect to a server. It takes no patterns:
#
#	on STARTUP {} {actions...}
#
# in order to write an action you have to know how Zircon works
# internally. A more user friendly interface will be provided in the future.

#
# zbind <channel name>? <Event> <action>
# 
# This allows you to add bindings either to all channels or to sepcifc
# channels. You need to understand tk and zircon internals to use it
# effectively at the moment.

#----------------------------------------------------------
# Other stuff
# net smiley :-)
# net scowl :-(
# net wink ;-)
# These can be generated by keyboard shortcuts - set them to your
# favourite strings.

#net busyMessage {I am busy and not accepting messages.}
# Set this to the string you want sent to people when you are busy and
# they try to message you.

#net trust(draw) {.*}
# This variable must be set if you wish to use the Sketch Pad feature.
# This setting allows anyone to send you sketches. You can change this
# to a list of full regular expressions matching nick!user@host format.
# N.B. I repeat FULL regular expressions *NOT* glob expressions as used
# in ircII. Read the tcl manual to find out about these if you dont
# know about them.

#net command 1
# This will turn on the command line entry on the Info window for this
# netspace. The present default is for it not to be there.

#net zircon(language) english
# This selects the language for button labels. There must be a file
# in the lang subdirectory of the zircon library directory called
# language.tcl, where "language" is the value you set in this command.
# Volunteer translators always needed now!!

#net zircon(bellcmd) bell
# The tcl command specifed will be executed whenever
# zircon tries to ring the bell. The default version calls the 
# tk bell command. It is unlikely that you will need to chane this.
#
# If you are using the zircon sound facilities then if you have
# defined a bell sound then this will take precedence.

#net zircon(soundcmd) {code....}
# This command will be executed whenever zircon tries to play a sound.
# If it is nor defined nothing will happen. Currently the only sound
# supported is the bell sound. The command is executed with the value
# of the appropriate sound resource as a parameter. This is configured
# like foreground colour in your X resources file :
#
#	zircon*bell: clink.au
#	zircon*#dogs*bell: bark.au
#	zircon*#dogs*fifiBell: howl.au
#
# This should allow you to interface to any of the available sound
# playing programs. N.B. If you have some sound extension to tcl this
# will *NOT* work as the command is started using exec. If you have a
# sound extension to tcl you can probably find the command yourself and
# hack it....

#net zircon(envnick) IRCNICK
#net zircon(envname) IRCNAME
#net zircon(envserver) IRCSERVER
#
# Configuring these variables allows you to tailor the name of the
# environment variable that zircon will look for when setting up nick,
# irc name and server for your session. The values shown here are the
# default. This feature is really only useful if you use several
# different clients and want different nicks etc. when using them.
#
#net ircIImode 0
#
# I don't know why anyone would want to do this, but setting this to 1 means
# that you dont have to hit Meta-Return to use the /ircII style commands
# that are supported by zircon - all your commands will be checked to
# see if they have a leading /.
#
#net zircon(action) Shift-Return
# 
# This controls the key sequence that is recognised for sending actions.
# Shift-Return is the original default but is pesky on some keyboards.
#
#net beep BEEP
#
# Configures the text string inserted when the bell rings.
#
#net players {
#    {<filetype1> <search path1> <player command1> <text1>}
#    {<filetype2> <search path2> <player command2> <text2>}
#    ...
#}
#   where
#   
#   filetype is a list whose first element is a glob style pattern that matches\
#   files of the requisite type. Thus for wav files it would be {*.[wW][aA][vV]}
#   Other elements of this list are reserved for future expansion (as they say).
#   
#  search path is a : separated list of directories where file sof this type
#   can be found
#   
#   player command is a shell command line that will be executed to play the sound.
#   If %s occurs in the string then the file name will be substituted for it. Otherwise
#   the file name is appended.
#   
#  text is an identifying string that is used for file dialogues.
#
# When a SOUND ctcp comes in, zircon will execute the program appropriate
# to the incoming file type in the
# background passing the name of the sound file to it as a parameter.
#
#net nicksize 9
#
# If you set this to 0, then you can have nicks as long as you want. This
# only works on certain nets, so only use it if you are sure!!
#

#net beeplimit 4
#
# The maximum number of beeps that will be sent to the window in any
# one go. 0 allows all beeps through.

#net dcclimit 10
#
# The maximum length of the incoming DCC request queue. 0 allows all
# requests through.

#net autoget {pattern list}
#net autochat{pattern list}
#
# These variables allow you to soecify nick!user@host patterns for
# people from whom you wish to accept Chat calls and DCC Sends
# automatically. (Note that currently the DCC Send will still ask you to
# specify a directory in which to place the incoming file - this may be
# enhanced later to allow even this to be defaulted)

#net undernet 0
#
# This indicates that the network has the Undernet
# enhancements. Zircon will try to determine this automatically if it can.

#net antiflood 2000
#
# Queue up CTCP replies and send them at this interval. Measure is in
# millseconds. If this is 0 then there is no flood protection.


#net maxQueue 50
# The maximum number of messages that can be in the outgoing
# anti-flood queue. If you set this to {} then there is no maximum. A
# value of 0 will mean that no messages are ever queued and are just
# thrown away.
