tirc(1)

NAME

tirc - Internet Relay Chat client

SYNOPSIS

tirc [ -n nickname ] [ -s server  ]  [  -p  port  ]  [  -x
password ] [ -h hostname ] [ -d ] [ -v ]

DESCRIPTION

TIRC is a client program for the Internet Relay Chat. It
provides all general functionality to participate in the global
IRC networks. TIRC is ircd 2.9/2.10 compatible and has exten
sions like CTCP (client-to-client protocol), DCC (direct client
connection) for transferring files and private chat, easy to use
multi-region support with searchable backscroll, logfiles and
message filtering. TIRC is termcap based and should run with any
reasonable terminal (and also on some pathetic ones). It does
not provide an extension scripting language since this is more
often abused for robots and warscripts and it is not really need
ed with TIRC since the client is already quite luser- friendly.
Please help keeping the IRC network bot- and script-free.

INVOKING TIRC

TIRC can be invoked without arguments when you specified
the required parameters in the local TIRC runcom file or you can
give server name etc. explicitly on invocation which then over
rides the respective config file entries. Look below for an ex
planation on the config file syntax.
TIRC will terminate immediately if you are the superuser,
have an invalid TERM or TERMCAP selection, are not on a tty or
if you have parse errors in an existing config file. You also
require a sane GECOS field in your password entry, since we want
to know your real name. TIRC does not need a config file. All
you really need to fully use TIRC is the binary program. Howev
er, the use of a personal config file is advised.
When TIRC is started, it attempts to connect to the speci
fied server on the specified tcp-port number. If the connection
is established, TIRC will send the client registration to the re
mote IRC server. If you specified a password, this will be used
for registration. You require this if your I:-line is password
protected. Specifying the debug option (-d) sets the debug dump
flag on the main window which allows you to look at the raw
client-server communication right from the start (you can later
toggle this for any window with the WIN MODE command).
The -h option specifies a hostname; tirc will try to bind
on that interface so that you use IRC with the specified host
name.
In case the client can not connect to the server for any
reason, you can try a different server with the SERVER command.
If you're done with chatting, you can exit the client with
the QUIT command. TIRC will not reconnect automatically if you
got forcibly disconnected by ircd due to connection trouble or
operator kills.

SCREEN LAYOUT

The TIRC screen generally consists of regions, also called
windows (not to be confused with X11 windows), which may contain
channels or catch several message types. TIRC can manage multi
ple pages, where each page presents itself as a seperate screen.
At the bottom of each window, there is a status bar, which
shows you whether the window is focussed, what top channel it
contains (the one privmsgs get sent to if you type into the win
dow), your nickname, user and channel modes (the user modes are
following the nickname, the channel modes are following the chan
nel name), the network-internal name of the IRC server you are
currently connected to, the current page number and optionally
the page numbers that have traffic since last visit. On the far
right of the status line, the window modes are shown. If you en
abled this feature, a clock is shown on the focussed status line.
If you have set away, the status line displays "away" instead of
the user modes.
At the bottom of the screen is the editor line where you
enter text and commands. The input line mainly supports
vi(1)-like keybindings with some additional emacs(1)-style keys.
You can move the focus between window regions with Ctrl+W/Ctrl+T.
For a more complete listing on keybindings, please refer to the
KEYBINDINGS section and to HELP KEYS in the help function.
If your screen gets messed up somehow, pressing Ctrl+L or
Ctrl+R usually puts it back into a sane state. Note that this
will delete non-logged lines (such as help text) from your win
dows and only redisplay what's in the backscroll (usually the im
portant stuff). Thus you can also use Ctrl+L to get rid of help
texts and redisplay a window that has been CLEARed.
The editor line prompt usually displays the channel name
if the window contains a top channel followed by a '>'. The
prompt is changed if you have to enter a different nickname or a
password. If instead of the prompt there is a "+MORE...+", this
tells you that current text output didn't fit on one window page
and you can go on by pressing any key or 'q' to abort displaying
more.

WINDOW MOTION

TIRC's windowy regions contain a backscroll which is by
default 1200 lines for each window. You can use Ctrl+B to scroll
backward (to earlier text) in the backscroll and Ctrl+F to scroll
forward. Ctrl+G goes to the bottom of the backscroll (i.e. the
current text). If you have scrolled back, no new lines will be
displayed and a "[+]" mark appears on the status line to inform
you that you are somewhere else in the buffer.
You can add new windows and resize them. You can move
channels between windows by JOINing them in a different window.
The channel will then be deleted from the old window and added to
the new window as the top channel. By this method, you can also
put a channel to the top in the same window. Window management
is done with the /WIN command and key shortcuts.

PAGE MANAGEMENT

TIRC can manage multiple pages in a fashion rudimentarily
similar to the screen(1) tool. You can have up to 10 pages, each
containing several windows. Pages are created and deleted with
the /PAGE command and the Ctrl+X shortcuts.

WINDOW SYSTEM SUPPORT

TIRC doesn't have provisions to make special use of win
dowing systems, like the X Window System. On X11, TIRC is being
run from an xterm or similar program. However, TIRC can set the
xterm title to something useful and it responds to window resiz
ing in a sensible way by reformatting the backscroll lines. The
latter is not limited to X11.

GENERAL USAGE

I assume that you're already familiar with IRC and other
IRC clients in general and I will not go into explanations about
the IRC network and habits on IRC. If you are new to IRC, please
refer to the IRC introduction that comes with the ircII client.
If you are already familiar with ircII, you won't have
many problems using TIRC. In fact you might see that many TIRC
features do the same as their ircII counterparts yet in a more
consistent way. TIRC doesn't have a scripting language. It is
the author's belief that scripting languages do more harm by
abuse than they're useful. Many comfortable functions are hard
coded into TIRC so that a script isn't really required.
With TIRC you can communicate with users in the following
ways:
By typing the text you want to say directly into the edi
tor line, the text will be sent to the top channel of that win
dow. If there isn't any channel in the window, an error will be
displayed. Empty lines are not sent to the server. This also
works for windows which have a query ``channel'' on top, where
the text is being send as privmsg to the respective user.
You can use /MSG (or /M, which is even shorter) to write
to channels which are not the top channel and to write privmsgs
to other users.
You can establish a DCC CHAT connection, which provides
you with a means of communicating directly with the other user's
client (data does not go through the IRC network). DCC can also
be used to transfer files between clients for situations where
ftp might be unappropriate.
TIRC commands are entered like text but they must stand
alone on a line (not preceded or followed by other text) and
they're introduced with the command character. By default this
is '/'. Although commands are case-insensitive, they're dis
played in the documentation and the client itself as uppercase.
For example, if you want to join the channel #foobar, you will
type the command "/join #foobar" and press return. To get an
overview on the available commands, read the section COMMANDS in
this manual page and use the HELP command.
TIRC doesn't have a restrictive novice mode like ircII.
This is probably because it isn't meant to be used by lusers.
If the user is keyboard-idle (no input) for a certain time
(default is 48 hours), the client will exit with ``User idle lim
it exceeded''. This is to prevent forgotten clients running for
very long times. The limit is compiled into and cannot be
changed at runtime (see tirc.h if you really want to change it).

GETTING HELP

The HELP command gives you a list available of help top
ics. To get help on a certain topic, you will say "/HELP topic".
Please read the help and the manpage carefully. It is advised to
have a look at all the help topics if you're new to TIRC. Some
commands differ from what commands with the same name do in
ircII, so reading the help might save you from some trouble.

INITIALIZATION

On startup, TIRC attempts to read the runcom file .tircrc
in your home directory. If there are no syntax errors in it,
TIRC configures itself according to the entries in that file.
The format is generally free ASCII text. Comments are introduced
with the hash ('#') character and run to the end of the line. If
you want to use the hash character in the file (like in a channel
name), you have to escape it with a backslash ('´). So the chan
nel name #foobar will be written as
The rc-file entries consist of either variable assignments
in the style of variable = value and of commands. Commands in
.tircrc are parsed as if they were typed into the editor line in
the order as they appear in the rc-file. If the prefix ``immedi
ate'' precedes a command, the command will be executed right at
start. Execution of other commands will be delayed until the
client has successfully registered with the server.
The following variables can be assigned values:
server The domain name or numerical IP address of the de
fault server you want to connect to.
nick The nickname you want to use on IRC. You can
change this later with the NICK command. If the nickname already
exists if you register, TIRC will prompt you for a different one.
port The TCP port the server listens on.
pass If your connection requires an I:-line password,
you can specify it here.
clname Alternate domain name of your machine running the
client. This will be given to the server as the second argument
on USER when registering. Most IRC servers ignore this, though.
realname
Specify here the real name that should appear on
WHO, WHOIS and similar commands. If this isn't specified, TIRC
uses the name that appears in the GECOS field of your password
entry. It is good habit to actually use your own name.
TIRC comes with an example dot.tircrc file which you can
copy as .tircrc into your home directory and then modify accord
ing to your requirements.

COMMANDS

This is a short overview of TIRC's commands. For a more
thorough explanation refer to the help function.
ABORT Terminates TIRC with SIGABRT.
ADMIN [<server>]
Server administrative contact.
AWAY [<away message>]
Marks the user as being away.
BYE [<comment>]
Quit TIRC (also QUIT, EXIT, SIGNOFF).
CLEAR Clear the window.
CLIST Display channel list.
CLOSE [<comment>]
Close connection without exiting.
CMDCH <character>
Changes command character.
CNAMES Print out channel user cache.
COLOUR Set colour values for colourization type.
CONNECT
Connect two servers.
CTCP <target> <ctcpcommand>
Send a privmsg in CTCP style format.
DATE [<server>]
Get time+date (also TIME).
DCC <function>
Control direct client connections.
DEOP <nickname>[ <nickname> ...]
Take chanop.
DESC <target> <description>
Send a CTCP ACTION privmsg to target.
DIE Terminate server.
IGN <nickname>
Ignores the user.
IGNORE <function> {<spec>|<identifier>}
Manage the ignore list.
INFO <server>
Display IRC info.
INVITE <nickname> <channel>
Inivites the user to channel.
ISON <nickname>[ <nickname> ...]
Check if nicks are online.
JOIN <channelname> [<key>]
Join channel in current window.
KB <nickname> [<comment>]
Ban+kick+[ignore] user. LART is almost the same.
KEYS Display keybindings.
KICK <channel> <user> [<comment>]
Kick user from channel.
KILL <user> <comment>
Remove user from IRC.
LAME <percentage>
The famous lame-o-metre.
LART <nickname> [<comment>]
Ban+kick+[ignore] user. Almost the same as KB.
LASTLOG [<num>]
Display logged private messages.
LEAVE <channel> [<comment>]
Leave channel. PART is the same.
LINKS [[<remote server>] <server mask>]
Display matching server links.
LIST [<channel>[,<channel>] [<server>]]
List channels.
LOG {MSG|[<channel>]} [<logfile>]
Log channel traffic or messages to logfile.
LUSERS [<wildcard> [<server>]]
List users.
M <target> <text>
Short for MSG.
MSG <target> <text>
Send privmsg to target.
MODE {<channel>|<nick>} {+|-}<modechars> [<parameters>]
Changes and displays user or channel mode.
MOTD {<server>|<nickname>}
Display server message-of-the-day.
N [<channel>[,<channel>]]
Short for NAMES.
NAMES [<channel>[,<channel>]]
Show nicknames on channels. Same as N.
NCOL [<function>] [<nick>|<id>] [<degree>] [<fg-colour>]
Sets the automatic colourization of nicknames with
approximate string matching.
NICK <nickname>
Change nickname.
NOTICE <target> <text>
Send notice to target.
OOD [<command> {<id>|<oline>}]
Show, ADD or DEL ChanOp-On-Demand lines.
OP <nickname>[ <nickname> ...]
Give chanop.
OPER [<nickname>] [<password>]
Gain IRC operator privileges.
PAGE {<command>|<number>}
Manage TIRC pages.
PART <channel> [<comment>]
Leave channel. Same as LEAVE.
PING Ping server.
QK <nickname>[ <nickname> ...]
Kick users from channel.
QUERY [<nickname>]
Route privmsgs from/to a user to this window.
QUIT [<comment>]
Quit TIRC. See BYE.
RAW <text>
Send IRC command directly.
REHASH Let ircd reread ircd.conf.
RESTART
Restart server.
SERVER <hostname> [<port>] [<password>]
Connect to specified server.
SET <variable> <value>
Control TIRC options.
SIGNAL <signal number>
Send signal to SYSTEM child process.
SIGNOFF
Quit TIRC. See BYE.
SPAM <blacklist>
Create spam discard keyword list.
SQUIT <server>
Unlink server from network.
STATS [<query>] [<server>]
Ask for server statistics.
SUMMON <user> [<server>]
Call a user logged into the server machine to IRC.
SYSTEM [-msg <target>] <commandstring>
Execute the specified shell-command in background
and optionally route output to a channel or user on IRC.
TIME [<server>]
Get time+date. Same as DATE.
TIRC Display version info.
TRACE [<server>]
Trace IRC route to server.
TOPIC <channel> [<newtopic>]
Display or set channel topic.
UHOST <nickname>[ <nickname> ...]
Send USERHOST query to server.
URL <command> [<filename>]
Manages the URL catching mechanism.
UMODE <modechars>
Changes user mode.
USERS [<server>]
List users logged into server machine.
VERSION [<server>]
Get ircd version.
W [<server>[,<nickmask>[,...]]
Short for WHOIS.
WALLOPS <text>
Write message to operators.
WHO <spec>
List matching users.
WHOIS [<server>[,<nickmask>[,...]]
Query information about users.
WHOWAS <nickname> [<count> [<server>]]
Search server's nickname history.
WIN <function>
Manage TIRC windows.

KEYBINDINGS

TIRC's editor line behaves similar yet not identically to
the vi text editor. In addition, the following keys are impor
tant to make optimal use of TIRC.
Ctrl+W Switch focus to next TIRC window region in command
mode. In input/overstrike mode, erase the last word.
Ctrl+T Like Ctrl+W but backwards.
Ctrl+F or PageDn
Page down in the current window's backscroll
buffer.
Ctrl+B or PageUp
Page up in the current window's backscroll buffer.
Ctrl+G Go to end of window's backscroll buffer.
Ctrl+L or Ctrl+R
Redisplay screen from the backscroll buffer. Also
removes unlogged text like help information.
Ctrl+Z or Ctrl+Y
Suspend TIRC (depends on your susp/dsusp charac
ter).
Ctrl+C Interrupt blocking system calls or conditionally
exits TIRC.
Tab If at the beginning of an empty line, writes a re
sponse template for the last user you received/send a message
from/to. Pressing Tab several times then iterates through a
small history. If you press Tab in the middle of a line, it
tries to complete the nickname you're typing from the current
window's top channel.
Ctrl+V (lnext character) Insert the next character liter
ally. It might be required that you press Ctrl+V twice. Control
values are displayed by a '_' in the command line.
Ctrl+E Go after the end of editor line.
Ctrl+A Go to beginning of line.
Ctrl+D Delete next character.
Ctrl+K Delete to end of line.
Cursor keys
Go left, right in line and up down in the command
line history, respectively.
Backspace
Delete char left to cursor.
Ctrl+U (or whatever you have as the line kill character)
Kills the line as expected. You can undo a kill or modification
by typing u in command mode.
Ctrl+P Toggles paste mode. In paste mode, commands are
not recognized and text is sent unaltered to the top chan
nel/query.
/ In command mode, this lets you search forward in
the current window's backscroll buffer. Extended (POSIX) regular
expressions are matched if available on your system (basic REs
otherwise).
? Like / but searches backwards (finds latest occu
rances first).
n (command mode) Find the next match for a previously
entered regex search string.
N Like n but searches in opposite direction.
q Aborts 'MORE' prompts.
: Insert the command character at beginning of line
and set insert mode.
o Invoke the options and colours editor.
Ctrl+X-o or Ctrl+N
Switch to next window (like Ctrl+W in command
mode).
Ctrl+X-O
Switch to previous window (like Ctrl+T in command
mode).
Ctrl+X-2
Create new window (like /WIN NEW).
Ctrl+X-0
Delete current window (like /WIN DEL).
Ctrl+X-n
Switch to next page.
Ctrl+X-p
Switch to previous page.
Ctrl+X-b-<0-9>
Switch to page number 0-9.
Ctrl+X-x
Switch between last visited page and current one.

ENVIRONMENT

TIRC uses the TERM environmental variable to obtain your
terminal type. The LC_* variables are used by the C runtime sys
tem to determine the correct locale. The SHELL variable will be
used to determine your login shell for the SYSTEM command. If no
SHELL variable is available, TIRC will use /bin/sh. HOME is used
to obtain the pathname of your home directory.

FILES

/usr/local/share/tircrc
Global startup file.
$HOME/.tircrc
Your personal initialization config file.
/tmp The directory where temporary files go (only used
at startup [eventually]).

BUGS

Since TIRC is in alpha development version (experimental
state), be prepared to encounter bugs.
There is a security hole in the DCC file and chat offer.
DCC accepts a connection from any host after sending the CTCP
privmsg notifying your peer about the DCC offer. Any person can
connect instead of the one the DCC offer was intended for. This
is due to bad design of the DCC protocol, which doesn't provide
any means of authentication. Please take care never to transfer
any confidential material over IRC or on DCCs.
If you are on a system for which we use SVIPC shared memo
ry segments for providing shared memory, you have to cope with
the oddities of System V IPC. In particular that means, if TIRC
exits abnormally (killed by signal), the resources used by the
kernel for the shared segments don't get freed and hang around
until you remove them manually or the system gets rebooted. Have
a look at ipcs(8) and ipcrm(8) on how to detect and get rid of
them.

SEE ALSO

irc(1), ircd(8), ircII(1). vi(1) for a listing of vi mo
tions, re_format(7) for an explanation of extended regular ex
pression syntax.
doc/rfc1459.txt - J. Oikarinen, D. Reed, "Internet Relay
Chat Protocol", May 1993. (RfC 1459)
doc/irc_dcc.txt - T. Rollo, "A description of the DCC pro
tocol".
doc/dccresum.txt - T. Vonck, "DCC Resume".

COPYRIGHT

Copyright (c) 1996, 1999 Matthias K. Buelow.
All rights reserved.

Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the following
conditions are met:
1. Redistributions of source code must retain the above
copyright notice, this list of conditions and the following dis
claimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following dis
claimer in the documentation and/or other materials provided with
the distribution.
3. Neither the name of the author nor the names of any co
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDI
RECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUP
TION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTH
ERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
TIRC comes with several bundled libc complementary func
tions, which are used only if the respective functionality is not
available in libc. The following copyrights are taken from the
bundled code and are herein reproduced as demanded by the authors
and for giving credit to whom credit is due:
Copyright (c) 1990, 1993 The Regents of the University of
California. All rights reserved.
Copyright 1992, 1993, 1994 Henry Spencer. All rights re
served.
Copyright (c) 1997 Theo de Raadt

AUTHORS

TIRC has been developed by Matthias K. Buelow <to
ken@mayn.de>.
The dynamically loadable modules support and other things
have been contributed by Richard Corke <rjc@rasi.demon.co.uk>.
I'm very thankful to everyone who reported bugs and pro
posed fixes and enhancements.
Contributed Software Feb 23th, 1999
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout