Some new packets, fixing "Unknown SNAC" errors.
[emchat] / README
1 -*- outline -*-
2
3 * Introduction
4
5 http://www.emchat.org/INSTALL
6
7 This file is best viewed under (S)XEmacs. Press C-c C-o now to
8 see the outline of topics. You can use (S)XEmacs menu to
9 navigate and hide/show different topics. (C-c means Control
10 and c; M-x means Meta and x.)
11
12 I publish this package in the hope of making more people
13 appreciate (S)XEmacs and Lisp.
14
15 You can contact me for anything at <steve@emchat.org>
16
17 * Feature list
18
19 - EMchat is written entirely in elisp
20 - EMchat uses the latest version of the ICQ protocol. (OSCAR)
21 - Send/receive messages
22 - Send/receive URL type messagse
23 - Send/Receive authorisation request messages
24 - Approve/Decline incoming auth requests
25 - Query ICQ users' meta info
26 - Search for ICQ users
27 - Dynamically add new users to your contact list (recent protocol
28   changes broke this)
29 - Play sounds for different events.
30 - Auto online after a auto away/na.
31 - Auto response away/na/dnd/occ messages.
32 - Different auto response messages if EMchat has idled away/na
33 - Auto reconnect if you are kicked off ICQ.
34 - Gnus style smileys
35 - Gnus style text emphasis (underline, bold, italic, etc)
36 - "Clickable" hyperlinks for URL's, email addresses, and Unix manual page titles
37 - climm (mICQ) style per contact history logs
38 - ERC/Riece style modeline activity indicator
39 - Works in both a GUI environment and on a console/TTY (even both at the same time)
40 - A dockable frame that tracks the number of unread messages.
41 - Interactive customisation through (S)XEmacs Custom widgets.
42 - Key binding, "scripting" in elisp.
43 - Allow other users/contacts to psycho-analyse themselves
44 - Display X-Face/Colour Face header images in buddy buffer.
45 - An "oops" function
46 - Customisable semi-automation
47
48
49 EMchat cannot yet transfer files, chat, or anything that requires a
50 peer-to-peer direct TCP connection.  This is not a limitation of
51 EMchat, but rather of XEmacs.  As yet, XEmacs can not "listen" for an
52 incoming TCP connection.
53
54 P2P _IS_ coming!  SXEmacs now has server sockets, we just have to use
55 em in EMchat.
56
57 * Installation
58 See the file 'INSTALL' in this directory.
59
60 There are a few mailing lists. See <http://www.emchat.org/#maillist>
61
62 Have fun!
63
64 * Submitting Patches
65
66 If you've got a patch for a bug fix or some wiz-bang new feature mail
67 them to <emchat-devel@emchat.org>.  The EMchat developers will review your
68 contribution and either accept it and add it to the EMchat code, or
69 reject it.  Whether accepted or rejected, you'll hear back from us.
70
71 Please be aware though that because of spam levels the EMchat mailing
72 list is a members-only posting.  If you are not subscribed you'll have
73 to wait for the moderator to process your post.  Please be patient,
74 he's a rilly busy guy. :-)
75
76 * Faq and tips
77
78 ** password
79
80 How to save password?
81
82 M-x customize-variable RET emchat-user-password
83 Or simply, (setq emchat-user-password "mypassword") in your
84 `user-init-file'. 
85
86 ** "M" vs "m" (send-message)
87
88 Commands in capital letters prompt you for aliases/uin while
89 those in small letters search for aliases/uin around the
90 cursor in emchat buffers, and perform actions on them. For
91 example, "m" inside an incoming message acts like a reply.
92
93 ** alias vs uin
94
95 "JackaLX" is my alias while "34307457" is my uin. In all prompts
96 of entering an icq person, you can enter either an alias or
97 an uin, although only alias completing read is provided. 
98 (Press TAB when entering an alias!)
99
100 ** message/alias history
101
102 Use M-p/M-n or UP/DOWN to navigate history in prompts of
103 entering alias or messages.
104 Use M-r/M-s to search history.
105
106 ** log file size
107
108 Watch out for monster emchat-log buffer size! Use M-x
109 emchat-log-new-file occasionally.
110
111 As of version 0.2.16 Eicq will automatically save the log file when
112 you disconnect from ICQ.  You can change this behaviour with
113 'M-x emchat-customize' in the 'emchat-log' group.
114
115 ** hooks
116
117 If you want to customize anything fancy:
118
119 emchat-buddy-mode-hook
120 emchat-log-mode-hook
121 emchat-new-message-hook
122 emchat-read-message-hook
123 emchat-status-update-hook
124 emchat-system-message-hook
125
126 ** Using EMchatWharf
127
128 EMchatWharf is a tiny frame that shows the number of unread messages you
129 have.  It is suitable for docking into the GNOME panel (YMMV).  I use
130 it with Sawfish WM (in a "sawlet" dockapp thingy).  And I've also used
131 EMchatWharf in FVWM by simply setting the geometry and making it
132 sticky from my FVWM rc file.
133
134 To get the EMchatWharf frame put into your (S)XEmacs init file:
135
136 (require 'emchat-wharf)
137 (setq emchat-wharf-frame-use-p t)
138 (add-hook 'emchat-new-message-hook #'emchat-wharf-inc-messages)
139 (add-hook 'emchat-system-message-hook #'emchat-wharf-inc-system)
140 (add-hook 'emchat-read-message-hook #'emchat-wharf-dec-messages)
141
142 *** Add Riece integration to EMchatWharf
143
144 Riece is a VERY good emacs IRC client (I highly recommend it).  If
145 you'd like to know when there is activity in your Riece frame, you can
146 have EMchatWharf tell you.  All you have to do is add this to the
147 above EMchatWharf settings...
148
149 (setq emchat-wharf-notice-riece-flag t)
150 (add-hook 'riece-biff-activity-hook #'emchat-wharf-riece-active)
151 (add-hook 'riece-biff-clear-hook #'emchat-wharf-riece-inactive)
152
153 And then turn on riece-biff in your Riece settings
154
155 ** EMchat in its own frame
156
157 You can optionally start EMchat in its own frame with:
158
159 (setq emchat-start-in-new-frame t)
160
161 ** Using EMchat-Track
162
163 EMchat-Track is a modeline indicator that tells you when you have new
164 messages.  To turn it on, just put in your (S)XEmacs init file:
165
166 (setq emchat-track-enable t)
167
168 ** Using EMchat-History
169
170 EMchat-History are per contact history files.  Basically individual logs
171 for each contact.  Turn it on with:
172
173 (setq emchat-history-enabled-flag t)
174
175 ** Displaying X-Face or colour Face Images in buddy buffer
176
177 You can display X-Face images (or colour face images) in the buddy
178 buffer, but it does require a little setting up, both in EMchat and in
179 BBDB.
180
181 *** EMchat Setup
182
183 This is the easy part, all you need to do is:
184
185   (setq emchat-buddy-show-xface t)
186
187 *** BBDB Setup
188
189 First of all, you need a new field called "icqnick" for each EMchat
190 contact that is in your BBDB.  This field's value is the alias name
191 from EMchat (the name displayed in the buddy buffer).
192
193   M-x bbdb-insert-new-field RET icqnick RET
194
195   answer `yes' to the prompt about `icqnick' isn't a known field,
196   define it?
197
198   Then just give it the desired value (contact name)
199
200 You'll also have to set up BBDB to collect X-Face and colour face
201 headers from your mail.  For some docs on how to do that, see:
202
203   <http://www.emacswiki.org/cgi-bin/wiki/BbdbFaces>
204
205 ** newline
206
207 How to enter new lines in minibuffer? 
208
209         Type 'Hello C-q 12 World'
210
211 To get:
212
213         Hello
214         world
215
216 ** (S)XEmacs Init File tips
217
218 (resize-minibuffer-mode 1)
219
220