IRCTK(1)
π NAME π
okay so bestie, welcome to irctk(1) from the General Commands Manual β this is the page for irctk, the Internet Relay Chat client. It's giving graphical IRC but make it customizable and extensible, and we're gonna go through every single bit together. π
β¨
β¨ SYNOPSIS β¨
irctk
πΈ DESCRIPTION πΈ
irctk is a graphical IRC client, designed to be simple and extensible, with customizable transports and a powerful extensions system. no cap, that's the whole vibe. π«Ά
πͺ Window πͺ
The irctk main window is divided into three parts:
- The channels list on the left
- The chat window on the center
- An optional list of users on the right
The channels list shows all the networks irctk is connected to, along with all the public channels joined and all the private chats.
If a new message is posted in a channel, the channel's name changes color in one of the following, in ascending order of priority:
- Blue β An informational message from the server, like when a user joined the channel.
- Orange β A user sent a new message in the channel.
- Purple β The
irctkuser was explicitly mentioned by nickname in a message. The message itself, in the channel's chat window, is shown in purple.
Double clicking on a network name collapses, or expands, the list of channels associated with it. Other possible mouse actions on the networks list are:
- Button-1 click β Select and shows the channel.
- Button-2 click β If on a selected network name, causes the specific network connection to be restarted.
- Button-2 double-click β If done on a selected channel, simply leaves it. If done on a selected network name, all the channels are closed and the network forgotten, with it's configuration deleted.
- Button-3 double-click β If done on a selected network name, the configuration dialog is opened.
The chat window is composed by a read-only area showing the channel's topic, a messages area showing the channel messages and an, optional, text area used to write and send messages with the user's nickname on it's left.
The network related channel, named after the network the client is connected to, shows server related messages and all the messages not routable to any private chat or joined channel.
A remote user sending a direct message to the client, causes a new private chat to be opened automatically, writing the received message there.
Messages are showed in chronological order, with the most recent at the bottom of the main messages area. It's possible to scroll the messages by using the messages area scrollbar, the mouse wheel or the Page-up and Page-down keys. Selecting some text in the main messages area and clicking with Mouse Button 3 on it, causes a plumbing event to be fired, with the selected text sent to the extensions subsystem to be handled (Like opening a link, or sending a notification to the system).
Sending a message to a channel is just a matter of writing some text in the message area and press Enter. At the moment, only single line messages are supported.
On a joined channel, on the right side of the window you can find the list of users in the channel. Users are shown with different colors:
- Black β A normal user.
- Red β A founder.
- Purple β Protected user.
- Green β Channel operator.
- Orange β Channel half operator.
- Blue β Voiced user.
Double-clicking on a user's name opens a private chat with it.
βοΈ Configuration βοΈ
irctk is designed to remember your configured networks and joined channels automatically. When irctk is started, all the configured networks and joined channels from a previous session are automatically joined for you. Of course, closing a channel or a network, makes irctk forget about it forever.
A new connection can be created by clicking on the βconnectβ entry in the file menu. Required fields are:
- Network β A name to give to the network.
- Nick β Your IRC nickname.
- Real name β Clear enough.
- User β IRC user sent with the
USERcommand. Useful also to configure bouncers. - Password β Your IRC password, used for authentication with NickServ.
- Connection string β The transport program to use. For example, connecting to libera.chat on OpenBSD using netcat, with TLS can be done with:
nc -c irc.libera.chat 6697
Of course, it's possible to use other programs to achieve the same result.
The font can be customized, application-wide, with the βfontβ entry in the βeditβ menu.
π Themes π
irctk supports the use of different themes. Themes can be loaded and selected from the βthemesβ entry in the βeditβ menu.
The entry have two sections: on the top, the list of themes loaded in the application, with the theme currently in use being highlighted. To use a different theme, just click on it's name, it will be highlighted and the application layout will change to reflect the selection. The selected theme will be automatically loaded at the next application's startup.
On the bottom, there is a view of the TCL files used by the application to load the themes on the top. Adding new themes to the application, is done with the βLoadβ button, where you will need to select a TCL file containing the instructions for the new theme to be loaded. irctk will remember the list of loaded files at the following startup.
The βUnloadβ button, removes the files selected in the files list, both from the running application and from the saved configuration. However, this will not remove any available theme until irctk is restarted.
π§© Extensions π§©
irctk extensions are programs that can be started by irctk to extend it's functionalities. Extensions located in the ${PREFIX}/libexec/irctk directory are loaded automatically at startup. This is useful for packagers that wants to provide a better experience on their platforms. Other extensions can be loaded by the user at runtime, through the βextensionsβ entry in the βeditβ menu.
All the extensions loaded by the user are remembered by irctk when the application is closed, unless the extension's executable is deleted from it's location, or the extension is explicitly unloaded by the user.
An extension, to be started properly, must have the execution permission bit set for the user that tries to run it.
Extensions can create, so called, βread-onlyβ channels, nothing more that fake channels used to convey extension-specific messages, or diagnostic errors from the extension itself (see the search extension for an example). It's not possible, for the user, to write to such channels, but they can be closed with the mouse like any other.
π Logs π
Conversations logs are stored in the ${HOME}/irc/logs directory, with a subdirectory for every configured network. Logs are simple text files identifiable by the channel's name, that the user can navigate either with the canonical UNIX tools, like grep(1), or with a dedicated extension from the irctk interface.
Log files are formatted as follows:
YYYY-MM-DDTHH:MM:SS <username>: message text
Conversations logging can be disabled or enabled using the βlog chatsβ entry in the βeditβ menu. Channels logging is enabled by default.
π¬ Commands π¬
irctk of course, can send all the RFC1459 commands to a server. IRC commands must be started with a forward-slash (/) in the message box as the very first character with the command name immediately following it, followed by any argument separated by spaces.
Not starting the message line with a forward-slash, implies a normal chat message to be sent to the current channel (a PRIVMSG, in essence).
For example, the WHOIS command, used to see a user information:
/WHOIS foo
Show in the GUI information about the user βfooβ.
Commands are both sent to the server and to the extensions subsystem in order for one or more extensions to be able to perform any action following it.
irctk extends the list of standard commands with some custom ones:
/ME arg1 arg2 ... argnβ Derived from mIRC, used to send messages in third person talking about yourself./QUIETβ Enable or disable the quiet mode. Do not show informational messages in the GUI, but save those in the channel's log file. Toggling the mode affects all the networks and channels the user has joined./CHATMODEβ Show if QUIET mode is enabled or disabled./DND arg1 arg2 ... argnβ Do not disturb. Mark the user as βawayβ on all the server at once. Pretty much like sending an/AWAYcommand to any single network the user is connected to. To come back from βdo not disturbβ, send the/DNDcommand without arguments. When the user is marked as βawayβ, the user's nick near the message box is greyed-out to notify the user of it./SWITCH channelβ Switch to a different channel. Implemented to let extensions command the GUI. Should not be used directly./RAISEβ Raise theirctkwindow in foreground. As for/SWITCH, it should not be used directly, but extensions may find a proper use for it.
Extensions commands are custom IRC commands handled by loaded extensions. Such commands are not sent to the IRC server. To send an extension command, prefix the command name with two forward-slashes (//) as the first two characters. An example is the SEARCH command implemented by the search extension:
//SEARCH regexp
The command will be sent to all the extensions asking for it, but it will not be sent to any of the IRC networks the user is connected to.
π FILES π
${HOME}/irc/logsβirctklogs directory.${HOME}/.config/irctkβirctkconfigurations directory.${PREFIX}/libexec/irctkβirctkdefault extensions directory.
π SEE ALSO π
π STANDARDS π
J. Oikarinen and D. Reed, Internet Relay Chat Protocol, RFC 1459, May 1993.
The IRCv3 working group, New core protocol specification, https://modern.ircdocs.horse/.
π AUTHORS π
- Andrea Biscuola
a@abiscuola.com - Omar Polo
op@omarpolo.com
xoxo, this page is from OpenBSD 7.6, dated May 20, 2024 β go be iconic, bestie πβ¨
π¦ where this page comes from
- alpine 3.24: irctk-doc 1.1.0-r1 Β· ISC
- Copyright (c) 2023-2024 Andrea Biscuola <a@abiscuola.com>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms