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.) |
