author | Mikael Berthe <mikael@lilotux.net> |
Sun, 09 Apr 2006 10:18:33 +0200 | |
changeset 799 | 7362ed14dee0 |
parent 775 | b4befb3052e5 |
child 810 | 8c45ec4bf9bc |
permissions | -rw-r--r-- |
226 | 1 |
.\"Generated by db2man.xsl. Don't modify this, modify the source. |
2 |
.de Sh \" Subsection |
|
3 |
.br |
|
4 |
.if t .Sp |
|
5 |
.ne 5 |
|
6 |
.PP |
|
7 |
\fB\\$1\fR |
|
8 |
.PP |
|
9 |
.. |
|
10 |
.de Sp \" Vertical space (when we can't use .PP) |
|
11 |
.if t .sp .5v |
|
12 |
.if n .sp |
|
13 |
.. |
|
14 |
.de Ip \" List item |
|
15 |
.br |
|
16 |
.ie \\n(.$>=3 .ne \\$3 |
|
17 |
.el .ne 3 |
|
18 |
.IP "\\$1" \\$2 |
|
19 |
.. |
|
20 |
.TH "MCABBER" 1 "" "" "" |
|
21 |
.SH NAME |
|
22 |
mcabber \- a simple Jabber console client |
|
23 |
.SH "SYNOPSIS" |
|
24 |
||
25 |
||
26 |
mcabber [ \-f configfile ] [ --help | \-h ] |
|
27 |
||
28 |
.SH "DESCRIPTION" |
|
29 |
||
30 |
||
227 | 31 |
mcabber(1) is a small Jabber console client\&. For now it needs a configuration file to start, so please copy the sample mcabberrc file and adapt your connection settings\&. |
226 | 32 |
|
33 |
||
360
20283b69db99
Doc: Say a Jabber account should already exist for using mcabber
Mikael Berthe <mikael@lilotux.net>
parents:
330
diff
changeset
|
34 |
You also need to have an existing Jabber account to use this software, as it cannot (un)register accounts yet\&. |
20283b69db99
Doc: Say a Jabber account should already exist for using mcabber
Mikael Berthe <mikael@lilotux.net>
parents:
330
diff
changeset
|
35 |
|
20283b69db99
Doc: Say a Jabber account should already exist for using mcabber
Mikael Berthe <mikael@lilotux.net>
parents:
330
diff
changeset
|
36 |
|
227 | 37 |
The mcabber(1) screen is divided into 4 regions\&. The \fIroster\fR, alias \fIbuddylist\fR, is on the left\&. The \fIchat window\fR, or chat buffer, is on the right\&. The \fIinput line\fR lies at the bottom of the screen, under a small \fIlog window\fR\&. |
226 | 38 |
|
39 |
||
775
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
40 |
Two status lines surround the log window\&. The bottom status line is the "main status line" and reflects mcabber general status\&. The other line is the "chat status line" and shows the status of the currently selected buddy\&. |
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
41 |
|
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
42 |
|
229 | 43 |
To display buddies chat buffers, you will have to enter \fIchat mode\fR\&. You can enter chat mode by pressing enter, and leave chat mode with the ESC key\&. Simply sending a message will also enable chat mode\&. |
226 | 44 |
|
45 |
||
46 |
Here are some of the features of mcabber: |
|
47 |
||
48 |
.TP 3 |
|
49 |
\(bu |
|
50 |
SSL support\&. |
|
51 |
.TP |
|
52 |
\(bu |
|
467 | 53 |
MUC support (Multi\-User Chat)\&. |
54 |
.TP |
|
55 |
\(bu |
|
432 | 56 |
History logging: If enabled (see the CONFIGURATION FILE section), mcabber can save discussions to history log files\&. |
226 | 57 |
.TP |
58 |
\(bu |
|
432 | 59 |
Commands completion: If possible, mcabber will try to complete your command line if you hit the Tab key\&. |
226 | 60 |
.TP |
61 |
\(bu |
|
618 | 62 |
Input line history: Any message or command entered is in the input line history and can be reused easily\&. |
63 |
.TP |
|
64 |
\(bu |
|
432 | 65 |
External actions: Some events (like receiving a message) can trigger an external action, for example a shell script (you need to enable it in your configuration file)\&. A sample events script ("eventcmd") is provided with mcabber source code, in the contrib directory\&. |
226 | 66 |
.LP |
67 |
||
68 |
.SH "OPTIONS" |
|
69 |
||
70 |
.TP |
|
298
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
290
diff
changeset
|
71 |
\-\-help, \-h |
226 | 72 |
Quick help usage message |
73 |
||
74 |
.TP |
|
75 |
\-f configfile |
|
76 |
Use configuration file configfile |
|
77 |
||
78 |
.SH "KEYS" |
|
79 |
||
80 |
||
229 | 81 |
Text typing occurs in the \fIinput line\fR; basic operations are supported (left arrow, right arrow, home/end keys, insert, delete, backspace...)\&. |
226 | 82 |
|
83 |
||
84 |
PageUp and PageDown keys are used to move in the roster\&. |
|
85 |
||
86 |
||
618 | 87 |
Up and Down arrow keys can be used to move in the input line history; they jump to the previous/next line from the history beginning with the same string (from first column to the cursor column)\&. |
88 |
||
89 |
||
226 | 90 |
To send a message, move to the choosen buddy in the buddylist, type your message and hit enter\&. If the line begins with a slash, this will be interpreted as a command (see the COMMAND section below)\&. Hit escape to leave the chat mode\&. |
91 |
||
92 |
Here is a quick description of the key bindings: |
|
93 |
||
229 | 94 |
Ctrl\-a Go to the beginning of the input line |
226 | 95 |
|
229 | 96 |
Ctrl\-e Go to the end of the input line |
226 | 97 |
|
618 | 98 |
Ctrl\-l Force a refresh |
99 |
||
100 |
Up/Down Move in the input line history |
|
226 | 101 |
|
229 | 102 |
PgUp/PgDown Move inside the roster (buddylist) |
226 | 103 |
|
618 | 104 |
Tab Complete current word, in the input line |
226 | 105 |
|
229 | 106 |
Ctrl\-g Cancel completion / ctrl\-g |
226 | 107 |
|
229 | 108 |
Ctrl\-p/Ctrl\-n Scroll up/down half a screen in the buffer window (chat mode) |
226 | 109 |
|
775
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
110 |
Ctrl\-Left Move the cursor back to the start of the current or previous word |
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
111 |
|
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
112 |
Ctrl\-Right Move the cursor forward to the end of the current or next word |
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
113 |
|
229 | 114 |
Ctrl\-u Delete from beginning of the line to the cursor |
226 | 115 |
|
229 | 116 |
Ctrl\-k Delete from the cursor to the end of line |
226 | 117 |
|
229 | 118 |
Ctrl\-w Backward kill word |
226 | 119 |
|
229 | 120 |
Ctrl\-t Transpose chars |
226 | 121 |
|
263 | 122 |
Ctrl\-o Accept line and put the next history line in the input line (accept\-line\-and\-down\-history) |
123 |
||
236 | 124 |
Ctrl\-q Jump to the next unread message |
226 | 125 |
|
126 |
||
127 |
.SH "COMMANDS" |
|
128 |
||
129 |
.TP |
|
639 | 130 |
\fB/add\fR [jid [nickname]] |
660 | 131 |
Add the "jid" Jabber user to our roster (default group), and send a notification request to this buddy\&. If no nickname is specified, the jid is used\&. If no jid (or an empty string "") is provided or if jid is "\&.", the current buddy is used\&. |
226 | 132 |
|
133 |
.TP |
|
286
a3d65d7f0bc3
Add /alias documentation
Mikael Berthe <mikael@lilotux.net>
parents:
277
diff
changeset
|
134 |
\fB/alias\fR name = command line |
450 | 135 |
Add "name" as an alias for "command line"\&. |
136 |
||
137 |
Aliases are expanded only once, thus they can not be chained\&. "/alias name" displays the value associated with the "name" alias; "/alias name =" unsets the "name" alias\&. |
|
138 |
||
139 |
Example: "/alias away = status away"\&. |
|
289 | 140 |
|
141 |
.TP |
|
618 | 142 |
\fB/authorization\fR allow|cancel|request [jid] |
143 |
Manage the presence subscriptions\&. |
|
144 |
||
145 |
If no jid is provided, the current buddy is used\&. |
|
146 |
||
147 |
\fBallow\fR allow the buddy to receive your presence updates |
|
148 |
\fBcancel\fR cancel the buddy' subscription to your presence updates |
|
149 |
\fBrequest\fR request a subscription to the buddy's presence updates |
|
150 |
||
151 |
.TP |
|
289 | 152 |
\fB/bind\fR keycode = command line |
450 | 153 |
Bind a command line to the key with the "keycode" code number\&. |
154 |
||
155 |
Keycodes of unused keys are displayed by mcabber in the log window when pressing the key, for example "Unknown key=265"\&. "/bind keycode" displays the command line bound to the given keycode; "/bind keycode" unbinds the given keycode\&. |
|
156 |
||
157 |
Note: aliases can be used in key bindings\&. |
|
158 |
||
159 |
Example: "/bind 265 = status online" (265 is F1 for me, but it may depend on your ncurses installation)\&. |
|
286
a3d65d7f0bc3
Add /alias documentation
Mikael Berthe <mikael@lilotux.net>
parents:
277
diff
changeset
|
160 |
|
a3d65d7f0bc3
Add /alias documentation
Mikael Berthe <mikael@lilotux.net>
parents:
277
diff
changeset
|
161 |
.TP |
618 | 162 |
\fB/buffer\fR clear|top|bottom|date|%|search_backward|search_forward |
226 | 163 |
The buffer command manipulates the current buddy's buffer (chat window)\&. |
164 |
||
618 | 165 |
\fBclear\fR clear the current buddy chat window |
166 |
\fBbottom\fR jump to the bottom of the current buddy chat buffer |
|
167 |
\fBtop\fR jump to the top of the current buddy chat buffer |
|
168 |
\fBup\fR [n] scroll the buffer up n lines (default: half a screen) |
|
169 |
\fBdown\fR [n] scroll the buffer down n lines (default: half a screen) |
|
170 |
\fBdate\fR date jump to the first line after the specified date in the chat buffer (date format: "YYYY\-mm\-dd[THH:MM:SS]", "\-" and ":" are optional) |
|
171 |
\fB%\fR n jump to position %n of the buddy chat buffer |
|
491 | 172 |
\fBsearch_backward\fR text search for "text" in the current buddy chat buffer |
173 |
\fBsearch_forward\fR text search for "text" in the current buddy chat buffer |
|
226 | 174 |
|
175 |
.TP |
|
229 | 176 |
\fB/clear\fR |
227 | 177 |
The clear command is actually an alias for "/buffer clear"\&. |
178 |
||
179 |
.TP |
|
298
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
290
diff
changeset
|
180 |
\fB/connect\fR |
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
290
diff
changeset
|
181 |
Establish connection to the Jabber server\&. |
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
290
diff
changeset
|
182 |
|
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
290
diff
changeset
|
183 |
.TP |
229 | 184 |
\fB/del\fR |
227 | 185 |
Delete the current buddy from our roster, unsubscribe from its presence notification and unsubscribe it from ours\&. |
226 | 186 |
|
187 |
.TP |
|
298
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
290
diff
changeset
|
188 |
\fB/disconnect\fR |
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
290
diff
changeset
|
189 |
Terminate connection to the Jabber server\&. Note: the roster is only available when the connection to the server is active, so the buddylist is empty when disconnected\&. |
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
290
diff
changeset
|
190 |
|
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
290
diff
changeset
|
191 |
.TP |
775
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
192 |
\fB/event #n accept|ignore|reject\fR, \fB/event list\fR |
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
193 |
Tell mcabber what to do about a pending event\&. |
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
194 |
\fBaccept\fR accept the event #n |
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
195 |
\fBignore\fR remove the event #n from the list |
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
196 |
\fBreject\fR reject the event #n |
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
197 |
\fBlist\fR list all pending events |
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
198 |
|
b4befb3052e5
Update NEWS, ChangeLog and documentation
Mikael Berthe <mikael@lilotux.net>
parents:
710
diff
changeset
|
199 |
.TP |
240 | 200 |
\fB/group\fR fold|unfold|toggle |
201 |
The group command changes the current group display\&. |
|
226 | 202 |
|
637 | 203 |
\fBfold\fR fold (shrink) the current group tree in the roster |
265 | 204 |
\fBunfold\fR unfold (expand) the current group tree in the roster |
205 |
\fBtoggle\fR toggle the state (fold/unfold) of the current tree |
|
226 | 206 |
|
207 |
.TP |
|
229 | 208 |
\fB/info\fR |
440
264f40222872
Update documentation (/info command)
Mikael Berthe <mikael@lilotux.net>
parents:
436
diff
changeset
|
209 |
Display info on the selected entry (user, agent, group...)\&. For users, resources are displayed with the status, priority and status message (if available) of each resource\&. |
227 | 210 |
|
211 |
.TP |
|
229 | 212 |
\fB/move\fR [groupname] |
623 | 213 |
Move the current buddy to the requested group\&. If no group is specified, then the buddy is moved to the default group\&. Tip: if the chatmode is enabled, you can use "/roster alternate" to jump to the moved buddy\&. |
226 | 214 |
|
215 |
.TP |
|
799 | 216 |
\fB/msay\fR begin|verbatim|send|send_to|toggle|abort |
450 | 217 |
Send a multi\-line message\&. To write a single message with several lines, the \fImulti\-line mode\fR should be used\&. |
218 |
||
219 |
In multi\-line mode, each line (except command lines) typed in the input line will be added to the multi\-line message\&. Once the message is finished, it can be sent to the current selected buddy with the "/msay send" command\&. |
|
220 |
||
221 |
The \fIverbatim\fR multi\-line mode disables commands, so that it is possible to enter lines starting with a slash\&. Only the "/msay" command (with send or abort parameters) can be used to exit verbatim mode\&. |
|
238 | 222 |
|
799 | 223 |
The \fItoggle\fR subcommand can be bound to a key to use the multi\-line mode quickly (for example, "bind M13 = msay toggle" to switch using the Meta\-Enter combination)\&. |
224 |
||
637 | 225 |
\fBbegin\fR enter multi\-line mode |
226 |
\fBverbatim\fR enter verbatim multi\-line mode |
|
227 |
\fBsend\fR send the current multi\-line message to the currently selected buddy |
|
799 | 228 |
\fBsend_to\fR jid send the current multi\-line message to "jid" |
229 |
\fBtoggle\fR switch to/from multi\-line mode (begin/send) |
|
637 | 230 |
\fBabort\fR leave multi\-line mode without sending the message |
226 | 231 |
|
232 |
.TP |
|
436 | 233 |
\fB/rawxml\fR send |
234 |
\fBsend\fR string: send string (raw XML format) to the Jabber server\&. No check is done on the string provided\&. BEWARE! Use this only if you know what you are doing, or you could terminate the connection\&. |
|
235 |
||
236 |
.TP |
|
229 | 237 |
\fB/rename\fR nickname |
450 | 238 |
Rename current buddy to the given nickname\&. This command does not work for groups, at the moment (but you can move the buddies to another group with the "/move" command)\&. |
239 |
||
700 | 240 |
.TP |
241 |
\fB/request\fR time|version [jid] |
|
242 |
Send a "IQ" query to the current buddy, or to the specified Jabber user\&. If the resource is not provided with the jid, mcabber will send the query to all known resources for this user\&. |
|
450 | 243 |
|
244 |
.TP |
|
573 | 245 |
\fB/room\fR |
450 | 246 |
The room command handles Multi\-User Chat room actions\&. |
247 |
||
660 | 248 |
\fBjoin\fR room nick join "room", using "nick" as nickname\&. If no nickname is provided, the "nickname" option value is used (see sample configuration file) |
487 | 249 |
\fBleave\fR [message] leave the current room |
250 |
\fBnames\fR display members of the current room |
|
251 |
\fBnick\fR nick change your nickname in the current room |
|
491 | 252 |
\fBprivmsg\fR nick msg send private message "msg" to "nick" |
487 | 253 |
\fBremove\fR remove the current room from the roster (you must have left this room before) |
254 |
\fBtopic\fR set topic for current room |
|
255 |
\fBunlock\fR unlock current room (if you are the owner) |
|
601 | 256 |
\fBdestroy\fR [reason] destroy the current room (use with care!) |
573 | 257 |
\fBwhois\fR nick display MUC information about "nick" |
226 | 258 |
|
593 | 259 |
\fBinvite\fR jid [reason] invite jid to the current room |
260 |
\fBkick\fR nick [reason] kick "nick" from the current room |
|
261 |
\fBban\fR jid [reason] ban jid from the current room |
|
262 |
\fBrole\fR jid role [reason] change jid's role (role can be "none", "visitor", "participant", "moderator") |
|
263 |
\fBaffil\fR jid affil [reason] change jid's affiliation (affil can be "none", "member", "admin", "owner") |
|
264 |
||
226 | 265 |
.TP |
265 | 266 |
\fB/roster\fR |
267 |
The roster command manipulates the roster/buddylist\&. Here are the available parameters: |
|
229 | 268 |
|
491 | 269 |
\fBbottom\fR jump to the bottom of the roster |
270 |
\fBtop\fR jump to the top of the roster |
|
271 |
\fBup\fR move up in the roster |
|
272 |
\fBdown\fR move down in the roster |
|
265 | 273 |
\fBhide_offline\fR hide offline buddies |
274 |
\fBshow_offline\fR show offline buddies |
|
290
f63839a4cb35
Add /roster toggle_offline
Mikael Berthe <mikael@lilotux.net>
parents:
289
diff
changeset
|
275 |
\fBtoggle_offline\fR toggle display of offline buddies |
710 | 276 |
\fBhide\fR hide roster (full\-width chat window) |
277 |
\fBshow\fR show roster |
|
278 |
\fBtoggle\fR toggle roster visibility |
|
265 | 279 |
\fBsearch\fR bud search for a buddy with a name or buddy containing "bud" (only in the displayed buddylist) |
618 | 280 |
\fBalternate\fR jump to alternate buddy\&. The "alternate" buddy is the last buddy left while being in chat mode (this command is thus especially useful after commands like "/roster unread_first") |
265 | 281 |
\fBunread_first\fR jump to the first unread message |
282 |
\fBunread_next\fR jump to the next unread message |
|
229 | 283 |
|
284 |
.TP |
|
285 |
\fB/say\fR text |
|
491 | 286 |
Send the "text" message to the currently selected buddy\&. Can be useful if you want to send a message beginning with a slash, for example\&. |
226 | 287 |
|
288 |
.TP |
|
480 | 289 |
\fB/say_to\fR jid text |
491 | 290 |
Send the "text" message to the specified jid\&. Please note that this command doesn't set the default resource for a contact, so if you want to send several messages to a specific ressource you will have to use "/say_to" for each message\&. |
480 | 291 |
|
292 |
.TP |
|
522 | 293 |
\fB/status\fR [online|avail|invisible|free|dnd|notavail|away [\-|StatusMessage]] |
294 |
Show or set the current status\&. |
|
295 |
||
296 |
If no status is specified, display the current status\&. |
|
297 |
||
298 |
If a status message is specified, it will overrride the message* variables (these variables can be set in the configuration file)\&. If no relevant message* variable is set and no status message provided, the current status message is kept\&. If StatusMessage is "\-", the current status message is cleared\&. |
|
226 | 299 |
|
450 | 300 |
.TP |
301 |
\fB/status_to\fR jid online|avail|invisible|free|dnd|notavail|away [StatusMessage] |
|
302 |
Send the requested status to the specified Jabber user\&. |
|
303 |
||
660 | 304 |
If the specified jid is "\&.", the current buddy is used\&. |
305 |
||
450 | 306 |
Note: this status will be overridden by subsequent "/status" commands\&. If you are using the auto\-away feature, the status will overridden too\&. |
307 |
||
308 |
Note: The jid can include a resource (i\&.e\&. user@server/resource)\&. |
|
309 |
||
623 | 310 |
.TP |
311 |
\fB/version\fR |
|
312 |
Display mcabber version |
|
313 |
||
226 | 314 |
.SH "CONFIGURATION FILE" |
315 |
||
316 |
||
317 |
See the provided sample configuration file, which should be self\-documented\&. |
|
318 |
||
319 |
.SH "FILES" |
|
320 |
||
321 |
||
322 |
The following files can be used by mcabber(1): |
|
323 |
||
324 |
.nf |
|
325 |
||
326 |
$HOME/\&.mcabber/mcabberrc Default configuration file |
|
327 |
$HOME/\&.mcabberrc Configuration file used if no other has been found |
|
328 |
$HOME/\&.mcabber/histo/ Default directory for storing chat history files, if enabled |
|
329 |
||
330 |
.fi |
|
331 |
||
332 |
.SH "BUGS" |
|
333 |
||
334 |
||
360
20283b69db99
Doc: Say a Jabber account should already exist for using mcabber
Mikael Berthe <mikael@lilotux.net>
parents:
330
diff
changeset
|
335 |
Certainly\&. Please tell me if you find one! :\-) |
226 | 336 |
|
337 |
.SH "AUTHOR" |
|
338 |
||
339 |
||
229 | 340 |
Written by Mikael BERTHE <\fImcabber@lilotux.net\fR>\&. |
341 |
Originally based on cabber (Cabber homepage: <\fIhttp://cabber.sourceforge.net\fR>), please consult the AUTHORS file for details\&. |
|
226 | 342 |
|
343 |
.SH "RESOURCES" |
|
344 |
||
345 |
||
229 | 346 |
Main web site: <\fIhttp://www.lilotux.net/~mikael/mcabber/\fR> |
226 | 347 |
|
348 |
.SH "COPYING" |
|
349 |
||
350 |
||
700 | 351 |
Copyright � 2005, 2006 Mikael Berthe\&. |
229 | 352 |
|
700 | 353 |
Some portions are Copyright � 2002\-2004 <cabber@ajmacias\&.com>\&. |
226 | 354 |
|
355 |
||
356 |
Free use of this software is granted under the terms of the GNU General Public License (GPL)\&. |
|
357 |