annotate man/rcirc.texi @ 69841:613657f11e8d

*** empty log message ***
author Richard M. Stallman <rms@gnu.org>
date Fri, 07 Apr 2006 16:52:46 +0000
parents 11b616eddda4
children 6c86b6c45ccf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
1 \input texinfo
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
2 @c %**start of header
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
3 @setfilename ../info/rcirc
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
4 @settitle rcirc Manual
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
5 @c %**end of header
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
6
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
7 @copying
69681
11b616eddda4 @copyright{}, no indentation in @copying{}
Karl Berry <karl@gnu.org>
parents: 68441
diff changeset
8 Copyright @copyright{} 2006 Free Software Foundation, Inc.
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
9
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
10 @quotation
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
11 Permission is granted to copy, distribute and/or modify this document
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
12 under the terms of the GNU Free Documentation License, Version 1.2 or
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
13 any later version published by the Free Software Foundation; with no
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
14 Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
15 and with the Back-Cover Texts as in (a) below. A copy of the license is
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
16 included in the section entitled ``GNU Free Documentation License'' in
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
17 the Emacs manual.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
18
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
19 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
20 this GNU Manual, like GNU software. Copies published by the Free
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
21 Software Foundation raise funds for GNU development.''
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
22
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
23 This document is part of a collection distributed under the GNU Free
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
24 Documentation License. If you want to distribute this document
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
25 separately from the collection, you can do so by adding a copy of the
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
26 license to the document, as described in section 6 of the license.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
27 @end quotation
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
28 @end copying
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
29
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
30 @dircategory Emacs
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
31 @direntry
68441
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
32 * Rcirc: (rcirc). Internet Relay Chat (IRC) client.
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
33 @end direntry
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
34
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
35 @titlepage
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
36 @title rcirc Manual
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
37 @page
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
38 @vskip 0pt plus 1filll
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
39 @insertcopying
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
40 @end titlepage
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
41
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
42 @ifnottex
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
43 @node Top, Basics, (dir), (dir)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
44 @top rcirc Manual
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
45 @end ifnottex
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
46
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
47 @code{rcirc} is an Emacs IRC client.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
48
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
49 IRC (Internet Relay Chat) is a multi-user chat protocol. Users
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
50 communicate with each other in real-time. Communication occurs both in
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
51 topic channels which are collections of many users, or privately, with
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
52 just one other user.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
53
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
54 @menu
68441
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
55 * Basics::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
56 * Reference::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
57 * Hacking and Tweaking::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
58 * Key Index::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
59 * Variable Index::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
60 * Index::
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
61
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
62 @detailmenu
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
63 --- The Detailed Node Listing ---
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
64
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
65 Basics
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
66
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
67 * Internet Relay Chat::
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
68 * Getting started with rcirc::
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
69
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
70 Reference
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
71
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
72 * rcirc commands::
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
73 * Useful IRC commands::
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
74 * Configuration::
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
75
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
76 Hacking and Tweaking
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
77
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
78 * Skipping /away messages using handlers::
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
79 * Using fly spell mode::
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
80 * Scrolling conservatively::
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
81 * Changing the time stamp format::
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
82 * Defining a new command::
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
83 * Reconnecting after you have lost the connection::
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
84
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
85 @end detailmenu
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
86 @end menu
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
87
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
88 @node Basics, Reference, Top, Top
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
89 @chapter Basics
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
90
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
91 This chapter contains a brief introduction to IRC (Internet Relay Chat),
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
92 and a quick tutorial on @code{rcirc}.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
93
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
94 @menu
68441
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
95 * Internet Relay Chat::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
96 * Getting started with rcirc::
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
97 @end menu
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
98
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
99 @node Internet Relay Chat, Getting started with rcirc, Basics, Basics
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
100 @section Internet Relay Chat
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
101 @cindex internet relay chat
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
102 @cindex irc
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
103
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
104 @cindex channel
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
105 @dfn{Internet Relay Chat} (IRC) is a form of instant communication over the
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
106 Internet. It is mainly designed for group (many-to-many) communication
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
107 in discussion forums called channels, but also allows one-to-one
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
108 communication.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
109
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
110 @cindex instant messaging, comparison
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
111 @cindex server
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
112 @cindex network
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
113 Contrary to most Instant Messenger (IM) systems, users usually don't
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
114 connect to a central server. Instead, users connect to a random server
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
115 in a network, and the servers share information between them.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
116
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
117 Here's a typical example:
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
118
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
119 @cindex redirection to random servers
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
120 When you connect to the Freenode network
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
121 (@indicateurl{http://freenode.net/}), you point your IRC client at the
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
122 server @code{irc.freenode.net}. That server will redirect your client
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
123 to a random server on the network, such as @code{zelazny.freenode.net}.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
124
68436
945e62b87853 Some @cindex changes, some changes from @kbd to
Alex Schroeder <alex@gnu.org>
parents: 68429
diff changeset
125 @cindex channel name
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
126 @cindex # starts a channel name
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
127 Once you're connected, you can send messages to all other users
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
128 connected to the same network, and you can join all channels on the same
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
129 network. You might join the @code{#emacs} and the @code{#rcirc}
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
130 channels, for example. (Typically, channel names begin with a hash
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
131 character.)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
132
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
133 Once you have joined a channel, anything you type will be broadcast to
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
134 all the other users on the same channel.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
135
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
136 @cindex addressing other people
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
137 @cindex other people, addressing them
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
138 @cindex talk to other people
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
139 If you want to address someone specifically, for example as an answer
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
140 to a question, it is custom to prefix the message with the nick
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
141 followed by a colon, like this:
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
142
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
143 @example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
144 deego: fsbot rules!
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
145 @end example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
146
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
147 @cindex nick completion
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
148 @cindex completion of nicks
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
149 @kindex TAB
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
150 Since this is so common, you can use @key{TAB} to do nick completion.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
151
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
152 @node Getting started with rcirc, , Internet Relay Chat, Basics
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
153 @section Getting started with rcirc
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
154 @cindex getting started
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
155 @cindex connecting to a server
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
156
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
157 @cindex irc command
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
158 Use the command @kbd{M-x irc} to connect to a server. You will be asked
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
159 for four things:
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
160
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
161 @table @asis
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
162 @cindex server, connecting
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
163 @cindex Freenode network
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
164 @item IRC server
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
165 What server do you want to connect to? All the servers in a particular
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
166 network are equivalent. Some networks use a round-robin system where a
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
167 single server redirects new connections to a random server in the
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
168 network. @code{irc.freenode.net} is such a server for the Freenode
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
169 network. Freenode provides the network ``for the Free and Open Source
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
170 Software communities, for not-for-profit organisations and for related
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
171 communities and organizations.''
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
172
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
173 @cindex port, connecting
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
174 @cindex 6667, default IRC port
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
175 @item IRC port
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
176 All network connections require a port. Just as web servers and clients
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
177 use port 80 per default, IRC uses port 6667 per default. You rarely
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
178 have to use a different port.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
179
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
180 @cindex nick, connecting
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
181 @cindex changing nick
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
182 @cindex name changes
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
183 @item IRC nick
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
184 @vindex user-login-name
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
185 Every users needs a handle on-line. You will automatically be assigned
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
186 a slightly different nick if your chosen nick is already in use. If
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
187 your @code{user-login-name} is @code{"alex"}, and this nick is already
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
188 in use, you might for example get assigned the nick @code{alex`}.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
189
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
190 @cindex channels, connecting
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
191 @cindex initial channels
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
192 @cindex startup channels
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
193 @item Channels
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
194 A space separated list of channels you want to join when connecting.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
195 You don't need to join any channels, if you just want to have one-to-one
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
196 conversations with friends on the same network. If you're new to the
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
197 Freenode network, join @code{#emacs}, the about all things Emacs.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
198 @end table
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
199
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
200 @cindex server buffer
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
201 When you have answered these questions, @code{rcirc} will create a server
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
202 buffer, which will be named something like @code{*irc.freenode.net*},
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
203 and a channel buffer for each of the channels you wanted to join.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
204
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
205 @kindex RET
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
206 @cindex talking
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
207 @cindex communicating
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
208 To talk in a channel, just type in what you want to say in a channel
68436
945e62b87853 Some @cindex changes, some changes from @kbd to
Alex Schroeder <alex@gnu.org>
parents: 68429
diff changeset
209 buffer, and press @key{RET}.
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
210
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
211 @kindex C-c C-c
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
212 @cindex multiline messages
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
213 @cindex messages, multiple lines
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
214 @cindex pasting multiple lines
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
215 @cindex edit message before sending
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
216 If you want to paste multiple lines, such as source code, you can use
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
217 @kbd{C-c C-c} to edit your message in a separate buffer. Use @kbd{C-c
68436
945e62b87853 Some @cindex changes, some changes from @kbd to
Alex Schroeder <alex@gnu.org>
parents: 68429
diff changeset
218 C-c} to finish editing. You still need to press @key{RET} to send it,
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
219 though. Generally, IRC users don't like people pasting more than around
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
220 four lines of code, so use with care.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
221
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
222 @kindex C-c C-SPC
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
223 @cindex switching channels
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
224 @cindex tracking activity
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
225 @cindex active channel
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
226 @cindex abbreviated channel names
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
227 @cindex modeline tracks activity
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
228 You will note that when other people say things in buffers that are
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
229 currently buried (no window is showing them), the mode line will show
68436
945e62b87853 Some @cindex changes, some changes from @kbd to
Alex Schroeder <alex@gnu.org>
parents: 68429
diff changeset
230 you the abbreviated channel or nick name. Use @kbd{C-c C-@key{SPC}} to switch
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
231 to these buffers.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
232
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
233 @node Reference, Hacking and Tweaking, Basics, Top
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
234 @chapter Reference
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
235 @cindex reference
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
236
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
237 This is the reference section of the manual. It is not complete. For
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
238 complete listings of @code{rcirc} features, use Emacs built-in
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
239 documentation.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
240
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
241 @menu
68441
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
242 * rcirc commands::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
243 * Useful IRC commands::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
244 * Configuration::
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
245 @end menu
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
246
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
247 @node rcirc commands, Useful IRC commands, Reference, Reference
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
248 @section rcirc commands
68436
945e62b87853 Some @cindex changes, some changes from @kbd to
Alex Schroeder <alex@gnu.org>
parents: 68429
diff changeset
249 @cindex rcirc commands
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
250 @cindex commands
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
251
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
252 @kindex C-h m
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
253 This is a list of commands that you may use in @code{rcirc}. It is not
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
254 complete. For a complete listing, press @kbd{C-h m} in an @code{rcirc}
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
255 buffer.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
256
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
257 In addition to using regular Emacs key bindings, you can call them by
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
258 typing them into an @code{rcirc} buffer.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
259
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
260 @cindex call commands
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
261 @cindex typing commands
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
262 @cindex commands
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
263 For instance, instead of using the command @kbd{C-c C-j} to join a new
68436
945e62b87853 Some @cindex changes, some changes from @kbd to
Alex Schroeder <alex@gnu.org>
parents: 68429
diff changeset
264 channel, you may type this in an @code{rcirc} buffer, and press @key{RET}:
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
265
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
266 @example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
267 /join #emacs
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
268 @end example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
269
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
270 @cindex / starts a command
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
271 @cindex messages starting with a slash disappear
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
272 @cindex disappearing messages if starting with a slash
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
273 @cindex slash hides message
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
274 This is why you cannot start a message with a slash. You will have to
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
275 precede the command with a space, or rewrite your message in order to
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
276 send it to a channel.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
277
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
278 @cindex multiple words as parameters
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
279 @cindex string delimiters
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
280 @cindex quotes
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
281 @cindex double-quotes
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
282 Many commands take parameters. IRC commands usually ignore string
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
283 delimiters. Neither quote nor double-quote have special meanings in
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
284 IRC.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
285
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
286 @example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
287 /nick "alex schroeder"
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
288 @end example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
289
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
290 This will try to change your nick to @code{"alex}. Usually this will
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
291 fail because the double quote character is not a legal character for
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
292 nicks.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
293
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
294 @cindex case insensitive commands
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
295 These commands are case insensitive.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
296
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
297 @cindex new command
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
298 @cindex unknown command
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
299 @cindex command unknown
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
300 If a command isn't known by @code{rcirc}, it will simply be sent along to the
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
301 server. There is a list of some useful commands like that in the next
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
302 section.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
303
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
304 @table @kbd
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
305 @item C-c C-j
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
306 @kindex C-c C-j
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
307 @cindex /join
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
308 @cindex join channels
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
309 @cindex other channels
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
310 @cindex rooms, joining
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
311 @cindex discussion, joining
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
312 This joins a channel such as @code{#rcirc} or @code{#emacs}. On most
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
313 networks, anybody can create new channels. If you want to talk with
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
314 some friends, for example, all you have to do is agree on a valid
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
315 channel name and join that channel. (Also @code{/join #emacs}.)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
316
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
317 @item C-c C-p
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
318 @kindex C-c C-p
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
319 @cindex /part
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
320 @cindex part a channel
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
321 @cindex leave a channel
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
322 @cindex disconnect from a channel
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
323 @cindex stop talking on a channel
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
324 @cindex kill channel buffer
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
325 This leaves the current channel. You can optionally provide a reason
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
326 for parting. When you kill a channel buffer, you automatically part the
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
327 corresponding channel. (Also @code{/part you are too weird!}.)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
328
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
329 @item C-c C-r
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
330 @kindex C-c C-r
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
331 @cindex /nick
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
332 @cindex change name
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
333 @cindex nick changing
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
334 @cindex rename yourself
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
335 @cindex other name
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
336 This changes your nick to some other name. Your nick must be unique
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
337 across the network. Most networks don't allow too many nick changes in
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
338 quick succession, and have restrictions on the valid characters in nick
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
339 names. (Also @code{/nick alex-test})
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
340
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
341 @item C-c C-w
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
342 @kindex C-c C-w
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
343 @cindex /whois
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
344 @cindex who are these people
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
345 @cindex identifying people
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
346 @cindex channels other people are on
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
347 @cindex what channels people are on
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
348 Gives you some basic information about a nick. This often includes what
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
349 other channels people are on. (Also @code{/whois fsbot}.)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
350
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
351 @item C-c C-q
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
352 @kindex C-c C-q
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
353 @cindex /query
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
354 @cindex starting a private conversation
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
355 @cindex one-to-one conversation
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
356 @cindex talk privately
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
357 @cindex private conversation
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
358 @cindex contact one person only
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
359 @cindex query a person
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
360 Starts a one-to-one conversation with another person on the same
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
361 network. A new buffer will be created for this conversation. It works
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
362 like a channel with only two members. (Also @code{/query fsbot}.)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
363
68436
945e62b87853 Some @cindex changes, some changes from @kbd to
Alex Schroeder <alex@gnu.org>
parents: 68429
diff changeset
364 @item C-c @key{RET}
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
365 @kindex C-c RET
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
366 @cindex /msg
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
367 @cindex single message
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
368 @cindex message sending
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
369 This sends a single message to a nick. Like with @kbd{C-c C-q}, a new
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
370 buffer is created, where the response from the other party will show
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
371 up. (Also @code{/msg nickserv identify secret}.)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
372
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
373 @item C-c C-x
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
374 @kindex C-c C-x
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
375 @cindex /quit
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
376 @cindex quit
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
377 @cindex disconnect
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
378 @cindex kill connection
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
379 @cindex connection end
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
380 @cindex part all channels
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
381 @cindex end connection
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
382 @cindex server buffer killing
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
383 @cindex reason for quitting
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
384 This disconnects from the server and parts all channels. You can
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
385 optionally provide a reason for quitting. When you kill the server
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
386 buffer, you automatically quit the server and part all channels. (Also
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
387 @code{/quit ZZZzzz...}.)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
388 @end table
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
389
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
390 Some commands may not have a key binding, but only be available as typed
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
391 commands, such as:
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
392
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
393 @table @code
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
394 @item /ignore
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
395 @cindex /ignore
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
396 @cindex ignoring other people
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
397 @cindex trolls, ignoring
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
398 @cindex hide some posts
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
399 @cindex idiots online
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
400 This command toggles the ignore status of a nick, if you provide one.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
401 If you don't provide a nick, the command lists all the nicks you are
68436
945e62b87853 Some @cindex changes, some changes from @kbd to
Alex Schroeder <alex@gnu.org>
parents: 68429
diff changeset
402 ignoring. All messages by ignored nicks are---you guessed it---ignored.
945e62b87853 Some @cindex changes, some changes from @kbd to
Alex Schroeder <alex@gnu.org>
parents: 68429
diff changeset
403 Since only ``operators'' can kick people from channels, the
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
404 ignore command is often the only way to deal with some of the more
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
405 obnoxious fellows online. Example: @code{/ignore xah}.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
406 @end table
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
407
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
408 @node Useful IRC commands, Configuration, rcirc commands, Reference
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
409 @section Useful IRC commands
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
410 @cindex irc commands
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
411 @cindex commands
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
412
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
413 As mentioned, if a command isn't known by @code{rcirc}, it will simply be sent
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
414 along to the server. Some such commands are available on nearly all IRC
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
415 servers, such as:
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
416
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
417 @table @code
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
418 @item /away
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
419 @cindex /away
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
420 @cindex away status
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
421 @cindex pause status
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
422 @cindex unavailable status
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
423 @cindex set away status
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
424 This sets your status as ``being away'' if you provide a reason, or sets
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
425 your status as ``being back'' if you do not. People can use the
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
426 @kbd{C-c C-w} command to check your status. Example: @code{/away food}.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
427 @end table
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
428
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
429 @cindex irc resources
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
430 @cindex help about irc
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
431 Typical IRC servers implement many more commands. You can read more
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
432 about the fantastic world of IRC online at
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
433 @indicateurl{http://www.irchelp.org/}, the Internet Relay Chat (IRC)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
434 help archive.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
435
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
436 @node Configuration, , Useful IRC commands, Reference
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
437 @section Configuration
68436
945e62b87853 Some @cindex changes, some changes from @kbd to
Alex Schroeder <alex@gnu.org>
parents: 68429
diff changeset
438 @cindex configuring rcirc
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
439
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
440 These are some variables you can change to configure @code{rcirc} to your
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
441 liking.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
442
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
443 @table @code
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
444 @item rcirc-server
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
445 @vindex rcirc-server
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
446 the default server to connect to.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
447
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
448 @item rcirc-port
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
449 @vindex rcirc-port
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
450 the default port to connect to.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
451
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
452 @item rcirc-nick
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
453 @vindex rcirc-nick
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
454 the default nick to use.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
455 @end table
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
456
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
457 @example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
458 (setq rcirc-server "irc.mozilla.org"
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
459 rcirc-port 6666
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
460 rcirc-nick "alx")
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
461 @end example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
462
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
463 @vindex rcirc-user-full-name
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
464 @cindex full name
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
465 @cindex real name
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
466 @cindex surname
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
467 @code{rcirc-user-full-name} is used to set your ``real name'' on IRC.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
468 It defaults to @code{user-full-name}. If you want to hide your full
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
469 name, you might want to set it to some pseudonym.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
470
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
471 @example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
472 (setq rcirc-user-full-name "Curious Minds Want To Know")
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
473 @end example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
474
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
475 @vindex rcirc-startup-channels-alist
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
476 @cindex channels, configuration
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
477 @cindex initial channels, configuration
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
478 @cindex startup channels, configuration
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
479 @code{rcirc-startup-channels-alist} is the alist of channels to join
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
480 when connecting to a particular network. An alist is a list of lists.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
481 Each sublist starts with a regular expression that is compared to the
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
482 server address you're connecting to. The remaining sublist items are
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
483 the channels to join.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
484
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
485 @example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
486 (setq rcirc-startup-channels-alist
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
487 '(("\\.freenode\\.net$" "#emacs" "#rcirc" "#wiki")))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
488 @end example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
489
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
490 Note the subtle problem, here --- IRC clients connect to servers, and
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
491 there is no way of knowing which servers belong to a particular network.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
492 In the example above we're exploiting a naming convention used by within
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
493 the Freenode network --- all servers within the network have a host in
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
494 the @code{freenode.net} domain.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
495
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
496 @node Hacking and Tweaking, Key Index, Reference, Top
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
497 @chapter Hacking and Tweaking
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
498 @cindex hacking and tweaking
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
499
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
500 Here are some examples of stuff you can do to configure @code{rcirc}.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
501
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
502 @menu
68441
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
503 * Skipping /away messages using handlers::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
504 * Using fly spell mode::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
505 * Scrolling conservatively::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
506 * Changing the time stamp format::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
507 * Defining a new command::
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
508 * Reconnecting after you have lost the connection::
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
509 @end menu
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
510
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
511 @node Skipping /away messages using handlers, Using fly spell mode, Hacking and Tweaking, Hacking and Tweaking
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
512 @section Skipping @code{/away} messages using handlers
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
513 @cindex /away messages
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
514
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
515 @cindex handlers
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
516 @cindex status codes
68441
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
517 The IRC protocol specifies how certain events are signaled from server
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
518 to client. These events have numbers and are dealt with using so-called
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
519 handlers. You can override existing handlers by exploiting the naming
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
520 convention adopted for @code{rcirc}.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
521
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
522 Here's how to stop @code{rcirc} from printing @code{/away} messages.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
523 Since @code{rcirc} doesn't define a 301 handler, you don't need to
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
524 require @code{rcirc} before defining the handler:
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
525
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
526 @example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
527 (defun rcirc-handler-301 (process cmd sender args)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
528 "/away message handler.")
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
529 @end example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
530
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
531 @node Using fly spell mode, Scrolling conservatively, Skipping /away messages using handlers, Hacking and Tweaking
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
532 @section Using fly spell mode
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
533 @cindex fly spell
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
534 @cindex spelling
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
535 @cindex spell-checking as you type
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
536 @cindex automatic spelling
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
537 @vindex rcirc-mode-hook
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
538
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
539 The following code activates Fly Spell Mode
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
540 for @code{rcirc} buffers:
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
541
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
542 @example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
543 (add-hook 'rcirc-mode-hook (lambda ()
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
544 (flyspell-mode 1)))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
545 @end example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
546
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
547 @xref{Spelling, , Flyspell mode, emacs, The GNU Emacs Manual},
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
548 for details.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
549
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
550 @node Scrolling conservatively, Changing the time stamp format, Using fly spell mode, Hacking and Tweaking
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
551 @section Scrolling conservatively
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
552 @cindex input line
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
553 @cindex scrolling
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
554 @vindex scroll-conservatively
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
555 @vindex rcirc-mode-hook
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
556
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
557 IRC buffers are constantly growing. If you want to see as much as
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
558 possible at all times, you would want the prompt at the bottom of the
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
559 window when possible. The following snippet uses a local value for
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
560 @code{scroll-conservatively} to achieve this:
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
561
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
562 @example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
563 (add-hook 'rcirc-mode-hook
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
564 (lambda ()
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
565 (set (make-local-variable 'scroll-conservatively)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
566 8192)))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
567 @end example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
568
68441
e09d03f931a8 Capitalize dir entry for consistency with the entry
Luc Teirlinck <teirllm@auburn.edu>
parents: 68436
diff changeset
569 @xref{Scrolling, , Scrolling conservatively, emacs, The GNU Emacs
68411
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
570 Manual}, for details.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
571
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
572 @node Changing the time stamp format, Defining a new command, Scrolling conservatively, Hacking and Tweaking
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
573 @section Changing the time stamp format
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
574 @cindex time stamp
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
575 @cindex date time
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
576 @cindex format time stamp
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
577 @vindex rcirc-time-format
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
578
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
579 @code{rcirc-time-format} is the format used for the time stamp. Here's
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
580 how to include the date in the time stamp:
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
581
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
582 @example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
583 (setq rcirc-time-format "%Y-%m-%d %H:%M ")
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
584 @end example
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
585
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
586 @node Defining a new command, Reconnecting after you have lost the connection, Changing the time stamp format, Hacking and Tweaking
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
587 @section Defining a new command
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
588 @cindex defining commands
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
589 @cindex commands, defining
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
590 @cindex new commands, defining
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
591
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
592 Here's a simple new command, @code{/sv}. With it, you can boast about
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
593 your IRC client. It shows how you can use @code{defun-rcirc-command} to
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
594 define new commands.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
595
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
596 We're waiting for the definition of this command until @code{rcirc} is loaded
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
597 because @code{defun-rcirc-command} is not yet available, and without
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
598 @code{rcirc} loaded, the command wouldn't do us much good anyway.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
599
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
600 @smallexample
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
601 (eval-after-load 'rcirc
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
602 '(defun-rcirc-command sv (arg)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
603 "Boast about rcirc."
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
604 (interactive "i")
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
605 (rcirc-send-message process target
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
606 (concat "I use " rcirc-id-string))))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
607 @end smallexample
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
608
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
609 @node Reconnecting after you have lost the connection, , Defining a new command, Hacking and Tweaking
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
610 @section Reconnecting after you have lost the connection
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
611 @cindex reconnecting
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
612 @cindex disconnecting servers, reconnecting
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
613
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
614 If you're chatting from a laptop, then you might be familiar with this
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
615 problem: When your laptop falls asleep and wakes up later, your IRC
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
616 client doesn't realise that it has been disconnected. It takes several
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
617 minutes until the client decides that the connection has in fact been
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
618 lost. The simple solution is to use @kbd{M-x rcirc}. The problem is
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
619 that this opens an @emph{additional} connection, so you'll have two
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
620 copies of every channel buffer --- one dead and one live.
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
621
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
622 The real answer, therefore, is a @code{/reconnect} command:
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
623
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
624 @smallexample
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
625 (eval-after-load 'rcirc
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
626 '(defun-rcirc-command reconnect (arg)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
627 "Reconnect the server process."
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
628 (interactive "i")
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
629 (unless process
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
630 (error "There's no process for this target"))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
631 (let* ((server (car (process-contact process)))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
632 (port (process-contact process :service))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
633 (nick (with-rcirc-process-buffer process rcirc-nick))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
634 channels query-buffers)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
635 (dolist (buf (buffer-list))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
636 (with-current-buffer buf
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
637 (when (eq process rcirc-process)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
638 (if (rcirc-channel-p rcirc-target)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
639 (setq channels (cons rcirc-target channels))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
640 (setq query-buffers (cons buf query-buffers))))))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
641 (delete-process process)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
642 (let ((new-process (rcirc-connect server port nick
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
643 rcirc-user-name user-full-name
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
644 channels)))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
645 (dolist (buf query-buffers)
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
646 (with-current-buffer buf
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
647 (setq rcirc-process new-process)))))))
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
648 @end smallexample
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
649
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
650 @node Key Index, Variable Index, Hacking and Tweaking, Top
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
651 @unnumbered Key Index
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
652 @printindex ky
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
653
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
654 @node Variable Index, Index, Key Index, Top
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
655 @unnumbered Variable Index
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
656 @printindex vr
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
657
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
658 @node Index, , Variable Index, Top
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
659 @unnumbered Index
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
660 @printindex cp
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
661
44be17a30703 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
662 @bye
68429
df6222347a31 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 68411
diff changeset
663
df6222347a31 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 68411
diff changeset
664 @ignore
df6222347a31 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 68411
diff changeset
665 arch-tag: 2589e562-3843-4ffc-8c2f-477cbad57c01
df6222347a31 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 68411
diff changeset
666 @end ignore