User Guide

Introductory Note

This user guide provides details of both basic and more esoteric features of the ClicksAndWindows IRC client.  Please read the FAQ at the end of this document as it may answer any questions you have; if not post a question in "General Discussion" section of the ClicksAndWhistles forum.  Download the latest version of the client to ensure you have access to all the features described in this user guide and benefit from the latest bugfixes and new features.

Top Tip

Right-click on a tab or click on a window's icon to change settings just for that window.

Keyboard Shortcuts

Scroll channel text: Page Up (or Ctrl-Page Up), Page Down (or Ctrl-Page Down), Ctrl-Home, Ctrl-End, Ctrl-Up and Ctrl-Down
Move through command history: Alt-Up, Alt-Down
Clear input text: Escape
Clear command history: Escape (when input control is empty)
Send a message beginning with a slash (/): Alt-Return
Reveal "spoiler text" (text formatted with same foreground and background colour): AltGr (press and hold)

Changing Servers

If your server is lagged and you wish to try another server just issue the following command to automatically connect to the next server on the same network:


To connect to a particular server just issue the following command:

    /server <address>[:<port>]

If a port is not specified then a port will be chosen from the server database or the default port of 6667 will be used.

To open a secure (SSL) connection prefix the port with a '+'.



Timestamp Format

The following table is a list of all codes for the timestamp parameter:

Code Meaning
%a% Abbreviated weekday name
%A% Full weekday name
%b% Abbreviated month name
%B% Full month name
%c% Date and time representation appropriate for locale
%d% Day of month as decimal number (01 31)
%H% Hour in 24-hour format (00 23)
%I% Hour in 12-hour format (01 12)
%j% Day of year as decimal number (001 366)
%m% Month as decimal number (01 12)
%M% Minute as decimal number (00 59)
%p% Current locale's A.M./P.M. indicator for 12-hour clock
%S% Second as decimal number (00 59)
%U% Week of year as decimal number, with Sunday as first day of week (00 53)
%w% Weekday as decimal number (0 6; Sunday is 0)
%W% Week of year as decimal number, with Monday as first day of week (00 53)
%x% Date representation for current locale
%X% Time representation for current locale
%y% Year without century, as decimal number (00 99)
%Y% Year with century, as decimal number
%z%, %Z% Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown

Delayed Commands

A possible problem with auto-joins is that the join happens too quickly before the server has identified your nickname (with for example a nickserv service) which can cause the join to fail if joining a channel that only allows registered nicknames.  A workaround for this problem is to add a delayed join command to a connection script rather than using the auto-join feature.  The /delay (or /after) command takes a parameter for the delay (in ms) followed by the command to run.  An example connection script would look like:

    /nickserv identify password
    /delay 4000 /join #channel

Eventually C&W will have a full scripting capability which might offer a better alternative to this workaround.

Some servers support connection passwords which allow you to authenticate as soon as the connection is established; to use this feature check the "Has connection password" checkbox in the server properties dialog accessible via "File/Manage Servers...".


A timer is a way of performing a command repeatedly at a specified interval; timers are managed via the /timer command.  Timers are associated with connections, i.e. each connection has its own list of timers.

To add or replace a timer:

    /timer name=<name> interval=<interval in seconds> [repeat=<repeat count>] <command>

If repeat is omitted then the timer repeats forever.  For example to display the text "Channel guidelines are foo, bar and baz." in the channel #mychannel once every 30 minutes:

    /timer name=mytimer interval=1800 /msg #mychannel Channel guidelines are foo, bar and baz.

To delete a timer:

    /timer delete <name>

To list all timers:

    /timer list

Randomly Coloured Nicknames

To display nicknames in a random colour use the "Crazy Colours" feature enabled with the /crazy command:

    /crazy [?] [on|off] [nickname|username|hostname] [<seed>]


turn on Crazy Colours and set a random seed  


display Crazy Colours settings  

/crazy ?

make Crazy Colours key off the username instead of the nickname  

/crazy username

change the Crazy Colours seed to display different random colours  

/crazy 1234

turn off Crazy Colours  

/crazy off

If keying off username or hostname then it is a good idea to enable the "Get user information" checkbox in the "Tools/Options/Miscellaneous" dialog.

DNS Lookup

To obtain the IP address or perform a reverse DNS lookup of a user use the following command:

    /dns <nickname>

Hiding and Showing Windows

To hide a window use the following command:

    /hide [$|<channel name>|<user name>]

"$" means "server window".  No parameters means hide the current window.

To show a window use the following command:

    /show [$|<channel name>|<user name>]

"$" means "server window".  Hidden windows can also be shown by clicking on them in the Connection Explorer.

Binding Keys To Windows

Alt+1 to Alt+9 can be configured to switch to a channel or PM window or to join a channel.  To bind the current window to one of Alt+1 to Alt+9 issue the following command:

    /bind [<window number>]

To list the current key bindings issue the following command:


To remove a key binding issue the following command:

    /unbind [<window number>]

If you do not specify a window number then the key binding for the current window will be removed.

Searching For Users

You can search for users by specifying a wildcard using the following command:

    /finduser <wildcard> [<wildcard>...]

The nickname, username, hostname and full name of every user in the current channel is checked for a match (case insensitive) if the "Get user information" checkbox in the "Tools/Options/Miscellaneous" dialog has been enabled, a /who command has been issued for the channel or everyone has spoken or joined since you joined.

As an example to search for James Bond, 007 use:

    /finduser *

To list all the users in the current channel use:

    /finduser *

Auto-rejoin On Kick

It is possible to automatically rejoin a channel after being kicked but this feature is disabled by default as being kicked is usually due to bad behaviour being an annoyance on a channel.  Use the following command to enable/disable the feature:

    /autorejoin [on|off|?]

Live Support

The ClicksAndWhistles IRC support channel is #ClicksAndWhistles on server The author of ClicksAndWhistles is very busy so may not be joined and/or active on the support channel.


Q. Where do I enter my username?
A. The username is taken from the e-mail address you specify in the identity dialog.  Just enter your desired username in this field.

Q. How do I automatically login with my registered nickname?
A. Setup a "connection script" via "File/Manage Servers/Connection Scripts..." with the appropriate command (e.g. "/nickserv identify password").  You might want to check "* (Any)" is selected for the server name otherwise the connection script will only work for a particular server.  Alternatively, for servers which support it, use a "connection password" which allows you to authenticate as soon as the connection is established.  To use this feature check the "Has connection password" checkbox in the server properties dialog accessible via "File/Manage Servers...".

Q. How do I add an autojoin for a channel?
A. Either enter the command /autojoin from the channel window or use "File/Manage Servers/Manage Auto-Joins...".

Q. How do I turn off the user activity pop-up window?
A. Remove its entry from the user notify list ("Users/Notify List...").

Q. How do I play a sound when a message arrives?
A. Add a notification via "Users/Notify List...".  The "Users" menu is only visible when online.

Q. Why is my sound event notification not working?
A. Notifications (sound, popup or notice) only happen if the target window is not active/has focus.  This behaviour is by design.

Q. How do I play a sound just for notices and private messages?
A. Add a notification via "Users/Notify List..." and set all the fields to * except the channel field which you should set to ~.

Q. How do I display contacts (buddy lists)?
A. Add a contact via "Users/Contacts..."; the "Users" menu is only visible when a window is open.  You can also right-click on a nickname and select "Add/Edit Contact..." or use the /contact command.  In "Tools/Options/Miscellaneous" select the "Channel User List/Display Groups" option to turn on the display of contacts in channel user controls.  To always display a list of available contacts select menu item "View/Contacts".

Q. How do I display Unicode characters?
A. In Tools/Options/Format change encoding to "UTF-8" and in "Tools/Options/Themes/Edit.../Choose Font..." select "Arial Unicode MS" or another font which contains desired Unicode characters.

Q. How do I display old channel messages when I join a channel?
A. In Tools/Options/Logging enable the "Enable scrollback log" checkbox.

Q. How do I display username and hostname of a user in join messages?
A. Change %N% to %N!% in "Options/Messages/Join message".

Q. Why is user information of users not being displayed in the status bar as I move the mouse over them?
A. User information will only be displayed for users currently joined to the channel.  User information is only available for users who join after you do or speak etc.  To obtain user information for all users when joining a channel enable the "Get user information" checkbox in the "Tools/Options/Miscellaneous" dialog.

Q. How do I display a user's channel mode in a message (e.g. <@LunarJetman> Hello)?
A. Change %N% to %QN% in "Options/Messages/Normal message".

Q. How can I display nicknames in a different colour to the rest of the message text?
A. You can insert colour/font style codes into the messages in "Tools/Options/Messages".  Use the clipboard to copy/paste the codes from the text input control.  You might want to turn on the Format Bar via "View/Format Bar".  N.B. formatting the nickname using this method will take priority over "Crazy Colours".

Q. How do I display a "colour gradient" text effect?
A. Gradients can be added with the "Text Effects" dialog opened by clicking on a theme item or via the "Text Effects..." button in the user highlight dialog (after selecting "Entire line").

Q. How do I display operator nicknames in a different colour in a message?
A. Add a highlight entry via "Users/Highlight List..." with User set to an asterisk (*) and just "Operator" checked in Status.  The "Users" menu is only visible when online.

Q. How do I hide server tabs?
A. Add the command /hide to a connection script.  The server window will hide itself (and remove the tab) once connected.

Q. Can ClicksAndWhistles be run from a USB flash drive?
A. Yes, by specifying the /pocket command line option.