summaryrefslogtreecommitdiff
path: root/doc/weechat_doc_en.texi
blob: 67d7977b45d93ebb8f8099778e88f7e9a0fed479 (plain)
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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
\input texinfo  @c -*-texinfo-*-
@c %**start of header
@setfilename weechat_doc_en.info
@settitle WeeChat - fast, light and extensible IRC client
@c %**end of header

@c WeeChat documentation (english version)
@c
@c Copyright (c) 2003 by FlashCode <flashcode@flashtux.org>
@c
@c Permission is granted to copy, distribute and/or modify this document
@c under the terms of the GNU Free Documentation License, Version 1.2
@c or any later version published by the Free Software Foundation;
@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
@c A copy of the license is included in the section entitled "GNU
@c Free Documentation License".

@c pdf : texi2pdf weechat_doc_en.texi
@c html: makeinfo --html --no-split --number-sections weechat_doc_en.texi

@c tex
@c \overfullrule=0pt
@c end tex

@documentlanguage en

@titlepage

@title WeeChat - User guide
@subtitle Fast, light and extensible IRC client
@subtitle Documentation for WeeChat v0.0.4 - November, 23 2003

@image{weechat_image}

@author FlashCode <@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>

@page

This manual documents WeeChat IRC client, it is part of WeeChat.@*
@*
Latest version of this document can be found on this page:@*
@uref{http://weechat.flashtux.org/doc.php?lang=en}@*
@*
Copyright @copyright{} 2003 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
@*
This document may be used under the terms the GNU General Public License
version 2 or higher.

@end titlepage

@everyheading @thischapter @| @|
@everyfooting @thistitle @| @| Page @thispage

@contents

@node Top, Introduction, (dir), (dir)
@menu
* Introduction:: What is WeeChat ?
* Installation:: WeeChat installation
* Usage:: WeeChat usage
* Extensions:: WeeChat extensions
* Authors / Support:: Contact authors and get support
@end menu


@c ******************************* Introduction *******************************

@node Introduction, Installation, Top, Top
@chapter Introduction

@menu
* Description::
* Pre-requisites::
@end menu

@node Description, Pre-requisites, Introduction, Introduction
@section Description

WeeChat (Wee Enhanced Environment for Chat) is a free IRC client, fast and light,
designed for many operating systems.@*
@*
Main features are:
@itemize @minus
@item
multi-servers connection
@item
many GUI (Graphical User Interface): Curses, Gtk and Qt
@item
small, fast and light
@item
customizable and extensible with scripts
@item
compliant with RFCs 1459, 2810, 2811, 2812, and 2813
@item
multi-platform (Gnu/Linux, *BSD, Windows and other)
@item
100% GPL, free software
@end itemize

@*
WeeChat homepage is here:@*
@uref{http://weechat.flashtux.org}@*

@node Pre-requisites, , Description, Introduction
@section Pre-requisites

In order to install WeeChat, you @b{need}:@*

@itemize @bullet
@item
A running Gnu/Linux system (with compiler tools for source package)
@item
"root" privileges (to install WeeChat)
@item
According to GUI, one of the following libraries:
@itemize @minus
@item
Curses: ncurses library,
@item
Gtk: *** GUI not developed ***,
@item
Qt: *** GUI not developed ***,
@end itemize
@end itemize


@c ******************************* Installation *******************************

@node Installation, Usage, Introduction, Top
@chapter Installation

@menu
* Binary package::
* Source package::
* CVS sources::
@end menu

@node Binary package, Source package, Installation, Installation
@section Binary package

Binary packages are available for these distributions:
@itemize @bullet
@item
Debian (or any Debian compatible distribution)@*
To install: @kbd{dpkg -i /path/weechat_x.y.z-1_i386.deb}
@item
Mandrake/Redhat (or any RPM compatible distribution)@*
To install: @kbd{rpm -i /path/weechat-x.y.z-1.i386.rpm}
@item
Gentoo@*
To install: see Gentoo documentation
@item
*BSD (not available!)
@item
Slackware (not available!)
@item
Windows (not available!)
@end itemize

where x.y.z is the version (for example 0.0.1)
@*

@node Source package, CVS sources, Binary package, Installation
@section Source package

All you have to do is to run in a console or a terminal:@*
@kbd{./configure}@*
@kbd{make}@*
Nota: to build only some interfaces, you can give parameters
to ./configure, type @kbd{./configure --help} for help about options.@*

Then get root privileges and install WeeChat:@*
@kbd{su -}@*
(enter root password)@*
@kbd{make install}@*

@node CVS sources, , Source package, Installation
@section CVS sources

Warning: CVS sources are for advanced users: it may not compile or not be stable.
You're warned!@*

To get CVS sources, issue these commands:@*
@kbd{cvs -d:pserver:anoncvs@@subversions.gnu.org:/cvsroot/weechat login}@*
@kbd{cvs -z3 -d:pserver:anoncvs@@subversions.gnu.org:/cvsroot/weechat co weechat}@*
(when prompted for a password, just press Enter key)@*

Execute this script:@*
@kbd{./autogen.sh}@*

Then follow instructions for source package - @xref{Source package}.


@c ********************************** Usage ***********************************

@node Usage, Extensions, Installation, Top
@chapter Usage

@menu
* Run WeeChat::
* Key bindings::
* WeeChat commands::
@end menu

@node Run WeeChat, Key bindings, Usage, Usage
@section Run WeeChat

@subsection Command line parameters

@table @code
@item -h, --help
Display help screen@*
@item -l, --license
Display WeeChat license@*
@item -v, --version
Display WeeChat version@*
@end table

@subsection Run WeeChat

Just issue this command to run WeeChat:@*
@kbd{weechat}@*
or @kbd{weechat-gtk} (for Gtk front-end)@*
or @kbd{weechat-qt} (for Qt front-end)@*

When you run WeeChat for the first time, a default configuration file is
created, with default options.@*
The default configuration file is: ~/.weechat/weechat.rc@*

You can edit this file at your convenience to configure WeeChat, or you can
set parameters with @kbd{/set} command in WeeChat - @xref{WeeChat commands}.

@node Key bindings, WeeChat commands, Run WeeChat, Usage
@section Key bindings

@table @kbd
@item Left arrow / Right arrow
Go to previous / next char in command line@*
@*
@item Ctrl + left arrow / Ctrl + right arrow
Go to previous / next word in command line@*
@*
@item Home / End
Go to the beginning / end of command line@*
@*
@item Backspace / Delete
Erase previous / next char of command line@*
@*
@item Ctrl + Backspace
Erase previous word of command line@*
@*
@item Tab
Complete command or nick (@kbd{Tab} again: find next completion)@*
@*
@item Any char
Insert char to cursor position in the command line@*
@*
@item Enter
Execute command or send message@*
@*
@item Up arrow / Down arrow
Call again last commands/messages@*
@*
@item PageUp / PageDown
Show window history@*
@*
@item F6 / F7
Switch to previous / next window@*
@*
@item Alt + left arrow / Alt + right arrow
Same as F6 / F7@*
@*
@end table

@node WeeChat commands, , Key bindings, Usage
@section WeeChat commands

NOT WRITTEN!


@c ******************************* Extensions *********************************

@node Extensions, Authors / Support, Usage, Top
@chapter Extensions

@menu
* Perl scripts::
* Python scripts::
* Ruby scripts::
@end menu

@node Perl scripts, Python scripts, Extensions, Extensions
@section Perl scripts

@subsection Load/unload Perl scripts

Perl scripts are loaded and unloaded with @command{/perl} command.
(type @kbd{/help perl} within WeeChat to get help about command).@*

@emph{Examples:}@*
@itemize @bullet
@item
Load a Perl script: @kbd{/perl load /tmp/sample.pl}@*
@item
Unload all Perl scripts: @kbd{/perl unload}@*
@item
List all Perl scripts: @kbd{/perl}@*
@end itemize

@subsection WeeChat / Perl API

@itemize @bullet
@item
@command{IRC::register ( name, version, shutdown_function, description );}@*
@*
This is first function to call in Perl script.@*
All Perl scripts for WeeChat should call this function.@*

@emph{Arguments:}
@itemize @minus
@item @option{name}: unique name to identify script (each script must have
unique name)
@item @option{version}: script's version
@item @option{shutdown_function}: Perl function called when script is
unloaded (optional parameter, empty string means nothing is called at the end)
@item @option{description}: short description of script.
@end itemize
@*
@emph{Example:}@*
@code{IRC::register ("sample", "1.0", "sample_end", "Sample script!");}@*
@*

@item
@command{IRC::print ( message );}@*
@*
Print message in current window (channel or server).@*

@emph{Arguments:}
@itemize @minus
@item @option{message}: message to display
@end itemize
@*
@emph{Example:}@*
@code{IRC::print ("message");}@*
@*

@item
@command{IRC::add_message_handler ( name, function );}@*
@*
Attach a Perl function to an IRC message.@*
Function will be called each time IRC message will be received.@*

@emph{Arguments:}
@itemize @minus
@item @option{name}: name of IRC message@*
To know list of IRC messages, please refer to RFC 1459 and/or 2812:@*
RFC 1459: @uref{ftp://ftp.rfc-editor.org/in-notes/rfc1459.txt}@*
RFC 2812: @uref{ftp://ftp.rfc-editor.org/in-notes/rfc2812.txt}
@item @option{function}: Perl function called when message is received
@end itemize
@*
@emph{Example:}@*
@code{IRC::add_message_handler ("privmsg", my_function);}@*
@code{sub my_function}@*
@code{@{ }@*
@code{@ @ @ @ ($null, $channel, $message) = split ":",@@_[0],3;}@*
@code{@ @ @ @ ($hostmask, $null, $channel) = split " ", $channel;}@*
@code{@ @ @ @ IRC::print ("host=$hostmask, chan=$channel, msg=$message\n");}@*
@code{@} }@*
@*

@item
@command{IRC::add_command_handler ( name, function );}@*
@*
Create new WeeChat command, linked with Perl function.@*
Function will be called when user will launch command with @kbd{/name}.@*

@emph{Arguments:}
@itemize @minus
@item @option{name}: name of new command@*
This name may be existing command, so that the command is overrided by
Perl function. Be careful when overriding WeeChat commands, they'll not be
available until your Perl script will be unloaded.
@item @option{function}: Perl function linked with command
@end itemize
@*
@emph{Example:}@*
@code{IRC::add_command_handler ("command", my_command);}@*
@code{sub my_command}@*
@code{@{ }@*
@code{@ @ @ @ IRC::print("Arguments: ".@@_[0]);}@*
@code{@ @ @ @ return 0;}@*
@code{@} }@*
@*

@end itemize

@node Python scripts, Ruby scripts, Perl scripts, Extensions
@section Python scripts

Not developed!

@node Ruby scripts, , Python scripts, Extensions
@section Ruby scripts

Not developed!


@c **************************** Authors / Support *****************************

@node Authors / Support, , Extensions, Top
@chapter Authors / Support

@ifhtml
@menu
* Authors::
* Get support::
* Copyright::
@end menu
@end ifhtml
@ifnothtml
@menu
* Authors::
* Get support::
@end menu
@end ifnothtml

@node Authors, Get support, Authors / Support, Authors / Support
@section Authors

WeeChat is developed by:@*

@itemize @bullet
@item 
FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>
@item
Bounga
<@email{bounga@@altern.org, bounga AT altern.org}>
@item
Xahlexx
<@email{xahlexx@@tuxfamily.org, xahlexx AT tuxfamily.org}>
@item
Crevetor
<@email{crevetor@@caramail.com, crevetor AT caramail.com}>

@end itemize

@ifhtml
@node Get support, Copyright, Authors, Authors / Support
@end ifhtml
@ifnothtml
@node Get support, , Authors, Authors / Support
@end ifnothtml
@section Get support

Before asking for support, be sure you've read documentation and FAQ provided
with WeeChat.@*
(documentation is this document, if you don't read all lines until this sentence,
you can start again!)@*

@itemize @bullet
@item
Support with IRC:@*
- server: @b{irc.freenode.net}@*
- channel: @b{#weechat}@*@*
@item
WeeChat forum: soon!@*@*
@item
Support with mailing list:@*
- to subscribe/unsubscribe:@*@uref{http://mail.nongnu.org/mailman/listinfo/weechat-support}.@*
- to send mail to all mailing list subscribers, send your mail to@*@email{weechat-support@@nongnu.org}.@*

Mailing archives are available here:@*
@uref{http://mail.nongnu.org/archive/html/weechat-support}@*@*
@item
Look for WeeChat support page for detail:@*
@uref{http://weechat.flashtux.org/support.php?lang=en}

@end itemize

@ifhtml
@node Copyright, , Get support, Authors / Support
@section Copyright

This manual documents WeeChat IRC client, it is part of WeeChat.@*

Copyright @copyright{} 2003 FlashCode
<@email{flashcode@@flashtux.org, flashcode AT flashtux.org}>@*
@*
This document may be used under the terms the GNU General Public License
version 2 or higher.
@end ifhtml

@bye