Mercurial > pidgin
annotate libfaim/README.gaim @ 251:b1ff272bc495
[gaim-migrate @ 261]
Small changes. some things work better.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Mon, 22 May 2000 23:57:41 +0000 |
parents | c5aa7bf99059 |
children | 5b28ef2b550e |
rev | line source |
---|---|
237 | 1 Hello, your good friend EW here with a nice little notice that I'm sure will |
2 affect the ten of you who actually read this. | |
3 | |
4 I'm going to start trying to get gaim to use Oscar through libfaim. As far as I | |
5 can tell, the only thing it used to be able to do is sign on and receive IMs. I | |
6 updated libfaim to what's currently in the libfaim CVS on sourceforge. As of | |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
7 right now, I've been able to implement most of the features libfaim offers. |
237 | 8 |
9 I'm going to try to make as few modifications as possible to the libfaim code. | |
10 The only two modifications I'll probably ever make to it are 1) to make my life | |
11 easier (like putting all the .h files in the same directory as the .c files) or | |
12 2) to fix a compilation error that I happen to be able to fix very easily (like | |
13 with a typo or something). That means that what you're getting when you enable | |
14 oscar is basically faimtest (the very instructional program included with the | |
15 libfaim source on sourceforge) with the Gaim GTK front-end. I'll put any changes | |
16 I make into a file, but so far, I haven't made any changes other than moving the | |
17 .h files down a directory. | |
18 | |
250
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
19 And finally, a word of warning. Gaim/Faim is VERY buggy. It'll screw with your |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
20 .gaimrc file. It won't always sign on right. It uses all your CPU. Please, don't |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
21 use this for anything other than laughs right now. Hopefully we'll get it |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
22 working better soon (please help!). |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
23 |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
24 CURRENTLY SUPPORTED FEATURES |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
25 ============================ |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
26 Signing on |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
27 Sending IMs |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
28 Receiving IMs |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
29 Being away/coming back |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
30 Being idle |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
31 Setting your info |
249
810c595258c8
[gaim-migrate @ 259]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
248
diff
changeset
|
32 Getting users' info |
810c595258c8
[gaim-migrate @ 259]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
248
diff
changeset
|
33 Getting users' away messages (PLEASE do not use oscar/libfaim just because of |
250
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
34 this, gaim with libfaim is still really buggy, none of you will listen |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
35 to me anyway) |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
36 Telling the server who's on your permit/deny lists (buggy) |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
37 Chat: |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
38 - joining rooms |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
39 - leaving rooms |
251
b1ff272bc495
[gaim-migrate @ 261]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
40 - getting invited |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
41 - talking |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
42 |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
43 CURRENTLY UNSUPPORTED FEATURES |
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
44 ============================== |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
45 Warning users/getting warned |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
46 Chat: |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
47 - whispering |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
48 - refreshing the chatlist in the preferences dialog |
251
b1ff272bc495
[gaim-migrate @ 261]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
250
diff
changeset
|
49 - inviting someone |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
50 Getting/setting dir info |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
51 Changing your password |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
52 File transfer/IM images/voice chat/etc. |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
53 |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
54 KNOWN ISSUES |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
55 ============ |
250
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
56 - libfaim apparently has a problem with receiving messages too fast (sort of). |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
57 You can receive more messages in less time with TOC than with libfaim. It's not |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
58 completely libfaim's fault though. |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
59 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
60 - Signing on every once in a while acts really bizarrely for me. Maybe it's just |
250
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
61 me. I think it has something to do with the horrible lack of error checking and |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
62 recovery on gaim's part. |
248
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
63 |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
64 - Adding or removing people to your permit/deny lists causes the server to tell |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
65 you everyone on your buddy list signed off and then immediately signed in again. |
cfc73b8501a7
[gaim-migrate @ 258]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
247
diff
changeset
|
66 While you won't ever see that it happens (other than everyone will suddenly have |
250
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
67 the guy-in-the-door icon), you'll hear it. Be warned. (This also happens at |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
68 sign-on, because the list gets built, even if you don't have a list.) |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
69 |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
70 - It doesn't set the current_user in .gaimrc correctly, so the users listed in |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
71 there will get really warped. Don't worry, it's just a problem with the .gaimrc, |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
72 but it's an annoying one. |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
73 |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
74 - Oh, yeah, by the way, it'll eat up all your CPU. (Someone please fix this, |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
75 there's a nice FIXME near the top of oscar.c that says what the problem is.) |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
76 |
237 | 77 HOW TO HELP |
78 =========== | |
79 So here's what you can do in order to help gaim use libfaim. There are basically | |
80 3 steps: | |
81 | |
82 1) In server.c, find an #ifndef USE_OSCAR tag that doesn't have a corresponding | |
83 #else. Find it in a good fun function that you want to implement. Basically | |
84 copy the code from the TOC side for the Oscar side. For example: | |
85 | |
86 void serv_send_im(char *name, char *message, int away) | |
87 { | |
88 char buf[MSG_LEN - 7]; | |
89 | |
90 #ifndef USE_OSCAR | |
91 g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), message, ((away) ? " auto" : "")); | |
92 sflap_send(buf, strlen(buf), TYPE_DATA); | |
93 #endif | |
94 if (!away) | |
95 serv_touch_idle(); | |
96 } | |
97 | |
98 becomes: | |
99 | |
100 void serv_send_im(char *name, char *message, int away) | |
101 { | |
102 char buf[MSG_LEN - 7]; | |
103 | |
104 #ifndef USE_OSCAR | |
105 g_snprintf(buf, MSG_LEN - 8, "toc_send_im %s \"%s\"%s", normalize(name), | |
106 message, ((away) ? " auto" : "")); | |
107 sflap_send(buf, strlen(buf), TYPE_DATA); | |
108 #else | |
109 oscar_send_im(name, message, away); | |
110 #endif | |
111 if (!away) | |
112 serv_touch_idle(); | |
113 } | |
114 | |
115 2) Edit gaim.h to add the new function (you'll see a list of them in there) | |
116 | |
117 3) Edit oscar.c to implement the new function | |
118 | |
119 Most of the functions you're going to need to call use a session and connection | |
247
f6e8ea29b24f
[gaim-migrate @ 257]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
237
diff
changeset
|
120 structure. These are kept (globally) in oscar.c as gaim_sess and gaim_conn. For |
237 | 121 example, from above: |
122 | |
123 void oscar_send_im(char *name, char *msg, int away) { | |
124 if (away) | |
125 aim_send_im(gaim_sess, gaim_conn, name, AIM_IMFLAGS_AWAY, msg); | |
126 else | |
127 aim_send_im(gaim_sess, gaim_conn, name, 0, msg); | |
128 } | |
129 | |
250
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
130 That should be all that's needed. |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
131 |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
132 There are also FIXME's scattered about oscar.c. Grep around for those, figure |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
133 out what needs to be fixed, do that sort of thing. :) (Fixing the things listed |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
134 in KNOWN ISSUES above, or any other bugs you happen to find, is a very good use |
c5aa7bf99059
[gaim-migrate @ 260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
249
diff
changeset
|
135 of your time.) (You didn't hear that from me.) |