/
readme.htm
181 lines (181 loc) · 9.5 KB
/
readme.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>quIRC: README</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8;" />
<link rel="stylesheet" href="readme.css" />
<style>
tt {margin-left:4em;}
</style>
</head>
<body>
<div id="title">
<h1>quIRC: readme</h1>
<h5>quIRC is a simple terminal-based IRC (Internet Relay Chat) client. It is written in C.</h5>
</div><!--#title-->
<div id="furtherhelp">
<h2>Further Help</h2>
<p>If this file doesn't answer your question, you can find help from several other places.</p>
<p>First port of call is the website, <a href="http://dev-null.chu.cam.ac.uk">http://dev-null.chu.cam.ac.uk</a> (sometimes it's not there, in which case try <a href="http://alistairsserver.no-ip.org:50001">http://alistairsserver.no-ip.org:50001</a>).<br />
Then there's the github page, <a href="http://github.com/ec429/quIRC">http://github.com/ec429/quIRC</a> (which should also have an up-to-date link to the abovementioned website).</p>
<p>Or try our IRC channel, #quirc on irc.newnet.net (if your problem doesn't prevent you from joining us there!)</p>
</div><!--#furtherhelp-->
<div id="commands">
<h2>Commands</h2>
<p>All commands are prefixed with a '/'. Anything else is a message to be sent to the channel.</p>
<dl>
<dt>/server <em>url</em></dt>
<dd>Connects to the given server (will open in a new tab).</dd>
<dt>/nick <em>nickname</em></dt>
<dd>Sets your nickname. Scope is server-wide (or, in (status) tab, sets default for new /servers).</dd>
<dt>/join <em>channel</em></dt>
<dd>Joins the given channel (will open in a new tab).</dd>
<dt>/me <em>action</em></dt>
<dd>Sends an 'action' to the channel.</dd>
<dt>/msg <em>recipient</em> <em>message</em></dt>
<dd>Private message; sends the message to the given recipient.</dd>
<dt>/amsg <em>message</em></dt>
<dd>Send message to all attached channels on this server.</dd>
<dt>/topic [<em>message</em>]</dt>
<dd>Sets or gets the channel topic.</dd>
<dt>/set <em>option</em> [<em>value</em>]</dt>
<dd>Sets configuration options; the options are analogous to those in .quirc, with one or two extras.
<ul>
<li>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.</li>
</ul>
</dd>
<dt>/ignore [-ipd] <em>user</em>[@<em>host</em>]</dt>
<dt>/ignore [-ipd] -r <em>regex</em></dt>
<dt>/ignore -l</dt>
<dd>Adds a user to your "ignore list", thus preventing messages from that user from appearing.
<dl>
<dt>-i</dt>
<dd>Match will be case-insensitive</dd>
<dt>-p</dt>
<dd>Will also ignore matching <em>private</em> messages</dd>
<dt>-d</dt>
<dd>Instead of adding a rule, remove all rules matching the given user@host</dd>
<dt>-r</dt>
<dd>Supply a regular expression match. The usual form (without -r) generates the regular expression <small>^<em>user</em>[_~]*@<em>host</em>$</small>; if <em>user</em> or <em>host</em> are not given (or begin with *), they are replaced with <small>[^@]*</small></dd>
<dt>-l</dt>
<dd>Instead of adding a rule, list rules which apply to this tab</dd>
</dl>
</dd>
<dt>/rejoin</dt>
<dd>Rejoins a channel tab which is dead (eg after losing server connection).</dd>
<dt>/reconnect</dt>
<dd>Reconnects to a server from which you have become disconnected.</dd>
<dt>/part <em>channel</em></dt>
<dt>/leave <em>channel</em></dt>
<dd>Leaves (departs) the given channel.</dd>
<dt>/disconnect [<em>message</em>]</dt>
<dd>Disconnects from the server, optionally sending a 'quit message'.</dd>
<dt>/close</dt>
<dd>Closes the current tab. In addition, has an effect which depends on the tab type:
<dl>
<dt>(status)</dt>
<dd>Disconnects from all servers and quits quIRC</dd>
<dt>{server}</dt>
<dd>Disconnects from the server and all channels on that server</dd>
<dt>[channel]</dt>
<dd>Leaves the channel</dd>
</dl>
</dd>
<dt>/quit [<em>message</em>]</dt>
<dt>/exit [<em>message</em>]</dt>
<dd>Quits quIRC, optionally sending a 'quit message' to the server.</dd>
<dt>/cmd <em>command</em></dt>
<dd>Allows you to send a raw command to the server; not recommended.</dd>
<dt>/tab <em>n</em></dt>
<dd>Switches to tab number <em>n</em>; (status) is tab 0.</dd>
<dt>/left</dt>
<dt>/right</dt>
<dd>Swaps the current tab with the tab on its left (or right); tab 0 (status) cannot be moved.</dd>
</dl>
</div><!--#commands-->
<div id="configuration">
<h2>Configuration</h2>
<p>quIRC can be configured through an "rc file" as follows.</p>
<p>In your home directory (/home/username), create a file called ".quirc", and open it in your editor.</p>
<p>In this file you can set servers, nick and channels to automatically use:<br />
<tt>nick <em>global-nickname</em></tt><br />
<tt>ignore -<em>options</em> <em>global-ignore</em></tt><br />
<tt>server <em>url</em></tt><br />
<tt>*chan <em>channel-on-that-server</em></tt><br />
<tt>*nick <em>nick-on-that-server</em></tt><br />
<tt>*ignore -<em>options</em> <em>ignore-on-that-server</em></tt><br />
where the <em>options</em> to [*]ignore are those for the /ignore command (except for l and d), and must not be separated by whitespace. You can however combine options, like <small>-ipr</small>.</p>
<p>Set the maximum length of nick that will be displayed, with lines<br />
<tt>mnln <em>maxnicklen</em></tt></p>
<p>You can also set mirc-colour-compatibility, with<br />
<tt>mcc <em>mcc-level</em></tt><br />
where 0 doesn't scan for mirc-colours, 1 silently strips them out, and 2 displays the appropriate colour. The default is mcc 1.</p>
<p>Another setting here is force-redraw, with<br />
<tt>fred <em>force-redraw</em></tt><br />
which will redraw the whole screen when things change; the number controls how often.<br>
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.</p>
<p>The size of each scrollback buffer, in lines, can be set with<br />
<tt>buf <em>buf-lines</em></tt><br />
the default being 256. Larger values will, of course, increase memory consumption.</p>
<p>You can turn on a few display options too;<br />
<tt>fwc 1</tt><br />
<tt>hts 1</tt><br />
<tt>tsb 1</tt><br />
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.</p>
<p>These settings and others can be overridden at runtime with commandline options. For details run "quirc --help".</p>
<p>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:<br />
<tt>%[S|R]<em>ident</em> <em>fore</em> <em>back</em> <em>hi</em> <em>ul</em></tt></p>
<p>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.</p>
<p><em>ident</em> can be any of</p>
<dl>
<dt>msg</dt>
<dd>Ordinary messages</dd>
<dt>notice</dt>
<dd>Notices</dd>
<dt>join</dt>
<dd>Channel-Join notifications</dd>
<dt>part</dt>
<dd>Channel-Leave notifications</dd>
<dt>quit</dt>
<dd>Quit-messages</dd>
<dt>nick</dt>
<dd>Nick-change notifications</dd>
<dt>act</dt>
<dd>Actions ('/me does something')</dd>
<dt>status</dt>
<dd>status messages</dd>
<dt>err</dt>
<dd>error messages</dd>
<dt>unk</dt>
<dd>Unknown commands (splurged to output)</dd>
<dt>unn</dt>
<dd>Unknown numerics (splurged to output)</dd>
</dl>
</div><!--#configuration-->
<div id="inputcontrols">
<h2>Input controls</h2>
<p>At present you cannot edit input with the cursors; you have to backspace.</p>
<p>Typing part of a nick and then pressing <em>(tab)</em> will cause the nick to be autocompleted.<br />
Ctrl-A clears the current input.</p>
Ctrl-left and Ctrl-right change tab.<br />
Alt-<em>[#]</em>, where <em>[#]</em> is a number key, changes to tab <em>[#]</em>, where (status) is tab 0.</p>
</div><!--#inputcontrols-->
<div id="scrollcontrols">
<h2>Scrollback controls</h2>
<p>You can scroll the current buffer with Ctrl-Up/Dn (and Ctrl-PgUp/Dn) to scroll a line (resp. a page) at a time.<br />
You can also use Ctrl-Home/End to jump to the top/bottom of the buffer.</p>
</div><!--#scrollcontrols-->
<div id="tabstrip">
<h2>Tab strip</h2>
<p>The strip of tabs along the bottom of the screen has various indicators.</p>
<p>The parens bracketing the name tell you what kind of tab it is:</p>
<dl>
<dt>()</dt><dd>status</dd>
<dt>{}</dt><dd>server</dd>
<dt>[]</dt><dd>channel</dd>
</dl>
<p>The background colour is green for the current tab, and blue for the current tab's parent server (if applicable).</p>
<p>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.</p>
</div><!--#tabstrip-->
</body>
</html>