Skip to content
This repository

A terminal-based IRC client

Fetching latest commit…

Cannot retrieve the latest commit at this time

README
****** quIRC: readme ******
** quIRC is a simple terminal-based IRC (Internet Relay Chat) client. It is
written in C. **
***** Further Help *****
If this file doesn't answer your question, you can find help from several other
places.
First port of call is the website, http://dev-null.chu.cam.ac.uk (sometimes
it's not there, in which case try http://alistairsserver.no-ip.org:50001).
Then there's the github page, http://github.com/ec429/quIRC (which should also
have an up-to-date link to the abovementioned website).
Or try our IRC channel, #quirc on irc.newnet.net (if your problem doesn't
prevent you from joining us there!)
***** Commands *****
All commands are prefixed with a '/'. Anything else is a message to be sent to
the channel.
  /server url
      Connects to the given server (will open in a new tab).
  /nick nickname
      Sets your nickname. Scope is server-wide (or, in (status) tab, sets
      default for new /servers).
  /join channel
      Joins the given channel (will open in a new tab).
  /me action
      Sends an 'action' to the channel.
  /msg recipient message
      Private message; sends the message to the given recipient.
  /amsg message
      Send message to all attached channels on this server.
  /topic [message]
      Sets or gets the channel topic.
  /set option [value]
      Sets configuration options; the options are analogous to those in .quirc,
      with one or two extras.
          * The options 'height' and 'width' are used to tell quIRC how many
            rows and columns your terminal has (for cursor-positioning). quIRC
            will try to deduce these values (from environment variables $LINES
            and $COLUMNS, using defaults of 80x24 if these env vars are not
            found), but you can override those guesses here or on the command
            line.
  /ignore [-ipd] user[@host]
  /ignore [-ipd] -r regex
  /ignore -l
      Adds a user to your "ignore list", thus preventing messages from that
      user from appearing.
        -i
            Match will be case-insensitive
        -p
            Will also ignore matching private messages
        -d
            Instead of adding a rule, remove all rules matching the given
            user@host
        -r
            Supply a regular expression match. The usual form (without -r)
            generates the regular expression ^user[_~]*@host$; if user or host
            are not given (or begin with *), they are replaced with [^@]*
        -l
            Instead of adding a rule, list rules which apply to this tab
  /rejoin
      Rejoins a channel tab which is dead (eg after losing server connection).
  /reconnect
      Reconnects to a server from which you have become disconnected.
  /part channel
  /leave channel
      Leaves (departs) the given channel.
  /disconnect [message]
      Disconnects from the server, optionally sending a 'quit message'.
  /close
      Closes the current tab. In addition, has an effect which depends on the
      tab type:
        (status)
            Disconnects from all servers and quits quIRC
        {server}
            Disconnects from the server and all channels on that server
        [channel]
            Leaves the channel
  /quit [message]
  /exit [message]
      Quits quIRC, optionally sending a 'quit message' to the server.
  /cmd command
      Allows you to send a raw command to the server; not recommended.
  /tab n
      Switches to tab number n; (status) is tab 0.
***** Configuration *****
quIRC can be configured through an "rc file" as follows.
In your home directory (/home/username), create a file called ".quirc", and
open it in your editor.
In this file you can set a server, nick and channel to automatically use, and
the maximum length of nick that will be displayed, with lines
server url
nick nickname
chan channel
mnln maxnicklen
You can also set mirc-colour-compatibility, with
mcc mcc-level
where 0 doesn't scan for mirc-colours, 1 silently strips them out, and 2
displays the appropriate colour. The default is mcc 1.
Another setting here is force-redraw, with
fred force-redraw
which will redraw the whole screen when things change; the number controls how
often.
0 won't redraw at all, while 3 will redraw every 0.25 seconds. The default is
2, which redraws whenever any buffer is written to or input is entered.
The size of each scrollback buffer, in lines, can be set with
buf buf-lines
the default being 256. Larger values will, of course, increase memory
consumption.
You can turn on a few display options too;
fwc 1
hts 1
tsb 1
will turn on Full-Width-Colour (makes coloured backgrounds for lines (eg. /me)
run all the way across the terminal), Highlight-Tab-Strip (gives the tab strip
a magenta background, to make it more visible) and Top-Status-Bar (uses the top
line of the terminal for some status information). To turn them off replace the
1 with a 0. By default fwc and hts are turned off; tsb is turned on.
These settings and others can be overridden at runtime with commandline
options. For details run "quirc --help".
You can also customise the colours quIRC uses. A custom colour line starts with
'%', followed optionally by 'S' or 'R' (only use this colour when Sending or
Receiving respectively), followed by an identifier, then space or tab, then
four space-separated numbers. Like this:
%[S|R]identfore back hi ul
Fore and Back set the foreground and background colours (8 colours each, red=1
green=2 blue=4, add for mixtures, eg white=7). Hi sets bright, Ul sets
underline; both are true if nonzero.
ident can be any of
  msg
      Ordinary messages
  notice
      Notices
  join
      Channel-Join notifications
  part
      Channel-Leave notifications
  quit
      Quit-messages
  nick
      Nick-change notifications
  act
      Actions ('/me does something')
  status
      status messages
  err
      error messages
  unk
      Unknown commands (splurged to output)
  unn
      Unknown numerics (splurged to output)
***** Input controls *****
At present you cannot edit input with the cursors; you have to backspace.
Typing part of a nick and then pressing (tab) will cause the nick to be
autocompleted.
Ctrl-A clears the current input.
Ctrl-left and Ctrl-right change tab.
Alt-[#], where [#] is a number key, changes to tab [#], where (status) is tab
0.
***** Scrollback controls *****
You can scroll the current buffer with Ctrl-Up/Dn (and Ctrl-PgUp/Dn) to scroll
a line (resp. a page) at a time.
You can also use Ctrl-Home/End to jump to the top/bottom of the buffer.
***** Tab strip *****
The strip of tabs along the bottom of the screen has various indicators.
The parens bracketing the name tell you what kind of tab it is:
  ()
      status
  {}
      server
  []
      channel
The background colour is green for the current tab, and blue for the current
tab's parent server (if applicable).
The foreground colour of tabs other than the current tab will turn red to
indicate that there are new messages on that tab. If a tab is 'dead' (eg.
disconnected from server), it turns yellow.
Something went wrong with that request. Please try again.