---
name: "tkirc"
section: "1"
platform: "linux"
package: "tkirc"
version: "1.202-8"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/tkirc"
---

# tkirc(1)

Tcl/Tk based client to the Internet Relay Chat

## NAME

tkirc - Tcl/Tk based client to the Internet Relay Chat

## SYNOPSIS

**tkirc \[-x** *ircpath***\]** **\[-q\] \[-r\] \[-t** *filename***\]** **\[***nickname* **\[***server***\]\]**

## DESCRIPTION

**tkirc** is a frontend for unix's ircII (shell-client for the Internet Relay Chat) based on Tcl/Tk.  A nice graphical user interface brings you the world of IRC.  Together with ircII and Tcl/Tk it should run under nearly all Unix-like operating systems.

## OPTIONS

- **-x** *ircpath*

  You can declare another path for the ircII command.  It's also possible to start **ircII** from another host via remote shell command [**rsh**(1)](/rsh/1.md). See also: **/EXCHANGE**

- **-q**

  Start up tkirc quickly - don't load file  *$HOME/.tkircrc*.

- **-r**

  Usually  **tkirc** doesn't pay attention to file  *$HOME/.ircrc*. If you use this option  **tkirc**\
    will try to load two rc-files  (*$HOME/.tkircrc* and  *$HOME/.ircrc*) during its startup.

- **-t** *filename*

  This option allows you to specify a file that will be loaded during start instead of  *$HOME/.tkircrc* or  *$HOME/.tkirc/tkircrc*.

- *nickname*

  Set the nickname (overrides the environment variables  **IRCNICK**, **USER**, **LOGNAME** and  **tkirc**'s variable  *preferred\_nicknames*).

- *server*

  Set the list of servers.  See also ircII's manual for  **OPTIONS** (server list)!

## FEATURES

This section will show you some of  **tkirc**'s features that you possibly will never find, if you don't read this manpage or the file  *tkircrc-example*. \*grin\*

- nickname completion

  If you have joined a channel, you can press TAB to complete the nicknames of other users.  If the nickname is the first word in your command line, the value of variable *nick\_completion\_suffix* will be added.

- more than one channel per window

  You are able to join more than one channel in one window.  The channelname above the userlist will be changed into a menubutton.  All channels you have joined in that window will be displayed in window's title.  If you type something without leading \`/', it will be sent to that channel you see above the userlist.

- nickname history

  When you receive a private message or a private notice, the nickname of the sender will be added to the nickname-history.  Press ALT-TAB and you will find a  **/msg** *nickname* within your command line.  Press ALT-TAB again and you will see that **tkirc** cycles the nicknames.  Maximum length of nickname-history is set to 5 to prevent long sequences of ALT-TABs.

- user definable colors and text styles

  You are able to choose your own colors and text styles for different kinds of messages, if you don't like the default values.  See also variable  *user\_styles* in file  *tkircrc-example*.

- function to detect netsplits and netjoins

  If the value of variable  *react\_to\_netsplits* is set to \`1',  **tkirc** will show you one message for netsplit or netjoin instead of long sequences of netsplit-signoffs or join-messages.

- highlighted URLs

  URLs (addresses for the World Wide Web) will be highlighted (like buttons for example) and you can perform actions on them.  See variables  *on\_urlclick* and *url\_style*!

- highlighted message IDs

  Message IDs (of news articles for example) will also be highlighted and you can also perform actions on them.  See variables  *on\_msgclick* and *msgid\_style*!

- function to detect and prevent channel takeovers

  If value of variable *react\_to\_takeover* is set to \`1', **tkirc** will give you an audible and visible alarm. In the case that you have channel operator privileges at the moment of takeover, a request window will be opened and you can react with one ban and multiple kicks.  Nothing will automatically happen.  You have the choice to do something against the takeover. See also variables *react\_to\_takeover*, *takeover\_users*, *takeover\_period*, *takeover\_kick\_reasons* and *takeover\_star\_patterns* in file *tkircrc-example*!

- ctcp-flood protection

  tkirc also include a protection against ctcp-flooding.  This feature is based on some settings of **ircII**. See also variables *react\_to\_ctcp\_flood*, *host\_flood\_ignore\_period* and *global\_flood\_ignore\_period*!

- file request for your commands

  If you include  **:file** to your command (you typed within one of **tkirc**'s command lines), this  **:file** will be replaced by the name of the file you selected through the request window. Example: Try  **/dcc send** *nick* **:file**!

- command history

  On CURSOR-UP and CURSOR-DOWN the command history will be cycled.

- progammable commands through Tcl/Tk

  Beside ircII's aliases you are able to creat your own Tcl/Tk commands and add your own menu to  **tkirc**'s graphical user interface.

- many other user definable features

  This section is not a complete list of  **tkirc**'s features. You have to read the file *tkircrc-example* to see many more!

- ircII's commands

  Besides tkirc's additional commands (listed in next section) you are able to use many of ircII's features and commands.

## COMMANDS

It's possible to use nearly all commands of ircII.  Try command  **/help** and you will see a list of  **tkirc**'s and of  **ircII**'s commands.  This section lists the additional commands of **tkirc** and shows their usage.

- **/BANNICK** *nick*

  This command opens a new window you can select a banpattern with to ban user *nick* from the current channel.

- **/BANCOMMENT** *channel* **(***number***\|***pattern***)** *comment*

  This command allows you to set a comment to a ban of channel *channel*. *number* or *pattern* selects the certain ban of  *channel*'s banlist.

- **/BANINFOS** *channel*

  This displays more informations of  *channel*'s bans than  \`**/MODE** *channel* **b**'

- **/CHAT** *nick1***\[,***nick2***\[***...***\]\]**

  A new window will be opened for a private conversation with all users specified through  *nick1*\[,*nick2*\[*...*\]\].

- **/CLEAR**

  The window you typed this command in will be cleared.

- **/CLEARALL**

  All windows will be cleared.

- **/CLOSE**

  The window you typed this command in will be closed.

- **/CLOSECRAPLOG**

  The craplog will be closed.

- **/CLOSELOG (***channel***\|***nick***)**

  The logfile you opened for conversation with *channel* or *nick* will be closed.

- **/CLOSELOGALL**

  The logfile for all kinds of irc-traffic will be closed.

- **/CLOSEMSGLOG**

  The logfile for whole traffic of private messages and notices will be closed.

- **/CRAPLOG** *filename* **\[-d\]**

  This command allows you to open file *filename* to log all kinds of crap in.  Select option  **-d** for additional time stamps.

- **/DCHAT** *nick*

  A new window will be opened for a direct client to client (DCC) conversation with user  *nick*.

- **/EXCHANGE** *ircpath* **\[***nick* **\[***server***\]\]**

  This command allows you to exchange the ircII command, tkirc is just running with. If you are able to use the remote shell command \`rsh', you can start your ircII on another host.  For example:

  ```
    /exchange "rsh <host> -l <login> <remote_ircpath>" <nickname>
  ```

  This command is also available as shell option  **-x**. Try to start from shell:

  ```
    ~> tkirc -x "rsh <host> -l <your_login> <irpath_on_that_host>"
  ```

- **/LOADBANINFOS** *channel filename*

  This tries to update baninfos of channel *channel* with the includes of file  *filename*.

- **/LOG (** *channel***\|***nick***)** *filename* **\[-d\] \[-r\]**

  The logfile *filename* will be opened for traffic of channel *channel* or for a private chat with user *nick*. Select option  **-d** for additional time stamps or **-r** to log the messages how you receive them from your IRC-server.

- **/LOGALL** *filename* **\[-d\] \[-r\]**

  The file  *filename* will be opened to log the whole irc-traffic in.  Select option **-d** for additional time stamps or **-r** for raw messages.

- **/LOGS**

  A list of all opened logfiles will be displayed.

- **/MSGIDS**

  A window will be opened that shows you a list of all message IDs detected in your tkirc session.

- **/MSGLOG** *filename* **\[-d\] \[-r\]**

  This command allows you to open file *filename* to log all private messages and notices in.  Select option  **-d** for additional time stamps or **-r** for raw messages.

- **/NEWWIN**

  This command opens a new traffic window.

- **/NOTIFIES**

  This command opens a window to display all notified nicknames.

- **/SAVEBANINFOS** *channel filename*

  Tries to save baninfos of channel *channel* into file *filename*. You can load these baninfos, when you rejoin channel *channel*.

- **/SAVEBUFFER** *tofile*

  The buffer of the current window will be saved into file *tofile*.

- **/SEARCH** *text*

  This command highlights all occurrences of  *text* in the text field and jumps to it/the next.

- **/SPLITS**

  Shows you a list of all detected netsplits.

- **/TAKEOVERS**

  Shows you a list of all detected (possible) channel takeovers.

- **/URLS**

  A window will be opened that shows you a list of all URLs detected in your tkirc session.

- **/WJOIN** *channel1* **\[,***channel2* **\[,...\]\]**

  This command opens a new window for each channel and joins all of them.

## FILES

*$HOME/.tkircrc*\
 *$HOME/.tkirc/tkircrc*

## AUTHOR

tkirc was written by Andreas Gelhausen \<atte@gecko.north.de\>.

This manual page was created by Roland Rosenfeld \<roland@spinnaker.rhein.de\> for the Debian GNU/Linux system (but may be used by others).

## SEE ALSO

[**irc**(1)](/irc/1.md), [**rsh**(1)](/rsh/1.md).\
 http://home.pages.de/~tkirc/
