comparison HACKING @ 4586:c7986b4d182a

[gaim-migrate @ 4870] Matthew Smith (smigs) writes: "- Some more i18n _() added. (ticker.c, timestamp.c) - A couple of dialogs given titles (instead of "Unnamed"). (dialogs.c) - Lots more files added to POTFILES.in - I cleaned up the file list in HACKING, removing files that no longer exist, and changing names/locations for others." committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Tue, 18 Feb 2003 14:36:15 +0000
parents 3196d9044a45
children 053b577e08f2
comparison
equal deleted inserted replaced
4585:2427d847e39c 4586:c7986b4d182a
36 two trees, or even two copies of the same file). Then when you're ready to 36 two trees, or even two copies of the same file). Then when you're ready to
37 make your patch, simply run 'cvs diff -u >my.patch' and send it off; 37 make your patch, simply run 'cvs diff -u >my.patch' and send it off;
38 either post it on sf.net/projects/gaim in the patches section, or email it 38 either post it on sf.net/projects/gaim in the patches section, or email it
39 to gaim@marko.net. 39 to gaim@marko.net.
40 40
41 This file was last modified by $Author: faceprint $ on 41 This file was last modified by $Author: lschiere $ on
42 $Date: 2003-01-31 08:03:47 -0500 (Fri, 31 Jan 2003) $. Do not expect any information contained 42 $Date: 2003-02-18 09:36:15 -0500 (Tue, 18 Feb 2003) $. Do not expect any information contained
43 within to be current or correct. 43 within to be current or correct.
44 44
45 Here's something new. Someone requested that I comment the code. No. I'm a 45 Here's something new. Someone requested that I comment the code. No. I'm a
46 lazy bastard, and I understand most of the code, so I don't need the 46 lazy bastard, and I understand most of the code, so I don't need the
47 comments. I understand that some of you do though. So give me the names of 47 comments. I understand that some of you do though. So give me the names of
141 ============ 141 ============
142 142
143 about.c: 143 about.c:
144 Not much to say here, just a few basic functions. 144 Not much to say here, just a few basic functions.
145 145
146 aim.c:
147 This is where the main() function is. It takes care of a lot of the
148 initialization stuff, and showing the login window. It's pretty tiny
149 and there's not really much to edit in it. This has some of the most
150 pointless functions, like gaim_setup, which optionally turns off sounds
151 on signon. A lot of this file should actually be part of other files.
152
153 applet.c:
154 This controls most things that are related to the applet. I don't like
155 looking at this file because it still has functionsLikeThis. But at
156 least it doesn't have many of them anymore. Anyway, this file isn't
157 very big because there's really not much difference between the panel
158 version and the app version.
159
160 away.c: 146 away.c:
161 This takes care of most of the away stuff: setting the away message 147 This takes care of most of the away stuff: setting the away message
162 (do_away_message); coming back (do_im_back); drawing the away window; 148 (do_away_message); coming back (do_im_back); drawing the away window;
163 etc. Away messages work really oddly due to multiple connections and 149 etc. Away messages work really oddly due to multiple connections and
164 multiple protocols; I think there are really only two or three people 150 multiple protocols; I think there are really only two or three people
208 This is gaim's HTML widget. It replaced the old widget, GtkHtml (which 194 This is gaim's HTML widget. It replaced the old widget, GtkHtml (which
209 was different than GNOME's GtkHTML). It's self-contained (it doesn't 195 was different than GNOME's GtkHTML). It's self-contained (it doesn't
210 use any of gaim's code) and is actually a separate project from gaim 196 use any of gaim's code) and is actually a separate project from gaim
211 (but is maintained by Eric). 197 (but is maintained by Eric).
212 198
213 gtkspell.c:
214 This controls spell checking. It's not a widget per se but it does have
215 some influence over the GtkText widget. It's a separate project from
216 gaim; if you have a patch for this file send it to the author (the
217 contact info is in the file).
218
219 gtkticker.c:
220 Syd, our resident GTK God, wrote a GtkWidget, GtkTicker. This is that
221 widget. It's cool, and it's tiny. This is actually a really good example
222 widget for those of you looking to write your own.
223
224 html.c: 199 html.c:
225 Don't ask my why this is called html.c. Most of it is just grab_url, 200 Don't ask my why this is called html.c. Most of it is just grab_url,
226 which does like the name says; it downloads a URL to show in the 201 which does like the name says; it downloads a URL to show in the
227 GtkHTML widget. http.c would be a more appropriate name, but that's OK. 202 GtkHTML widget. http.c would be a more appropriate name, but that's OK.
228 203
234 209
235 list.c: 210 list.c:
236 This file contains all of the routines for managing buddy lists, 211 This file contains all of the routines for managing buddy lists,
237 including importing them from a file, saving them, adding and removing 212 including importing them from a file, saving them, adding and removing
238 buddies and groups, etc. 213 buddies and groups, etc.
214
215 main.c:
216 This is where the main() function is. It takes care of a lot of the
217 initialization stuff, and showing the login window. It's pretty tiny
218 and there's not really much to edit in it. This has some of the most
219 pointless functions, like gaim_setup, which optionally turns off sounds
220 on signon. A lot of this file should actually be part of other files.
239 221
240 md5.c: 222 md5.c:
241 Oscar, Yahoo, and MSN all require md5 hashing, so better to put it in 223 Oscar, Yahoo, and MSN all require md5 hashing, so better to put it in
242 the core than have the same thing in three different places. 224 the core than have the same thing in three different places.
243 225
259 the GPL. Perl is the biggest, most confusing piece of C code I've ever 241 the GPL. Perl is the biggest, most confusing piece of C code I've ever
260 seen in my life (and keep in mind I'm a gaim hacker). I have a basic 242 seen in my life (and keep in mind I'm a gaim hacker). I have a basic
261 idea of what's going on in it, but I couldn't tell you exactly. The 243 idea of what's going on in it, but I couldn't tell you exactly. The
262 top half sets up perl and tells it what's going on and the bottom half 244 top half sets up perl and tells it what's going on and the bottom half
263 implements the AIM module. 245 implements the AIM module.
264
265 plugins.c:
266 This contains the UI for the plugins dialog. It's mostly GTK.
267 246
268 prefs.c: 247 prefs.c:
269 The important function in here is build_prefs, but the most useful 248 The important function in here is build_prefs, but the most useful
270 function is gaim_button. build_prefs draws the window, and calls 249 function is gaim_button. build_prefs draws the window, and calls
271 gaim_button probably 30 or 40 times. (I don't really wanna run grep 250 gaim_button probably 30 or 40 times. (I don't really wanna run grep
299 (maybe 9?) sounds based on preferences. All that the rest of the code 278 (maybe 9?) sounds based on preferences. All that the rest of the code
300 should have to do is call play_sound(BUDDY_ARRIVE), for example, and 279 should have to do is call play_sound(BUDDY_ARRIVE), for example, and
301 this file will take care of determining if a sound should be played 280 this file will take care of determining if a sound should be played
302 and which file should be played. 281 and which file should be played.
303 282
304 ticker.c: 283 util.c:
284 There's not really a lot of cohesion to this file; it's just a lot of
285 stuff that happened to be thrown into it for no apparent reason. None
286 of it is particularly tasty; it's all just utility functions. Just
287 like the name says.
288
289 plugins/ticker/gtkticker.c:
290 Syd, our resident GTK God, wrote a GtkWidget, GtkTicker. This is that
291 widget. It's cool, and it's tiny. This is actually a really good example
292 widget for those of you looking to write your own.
293
294 plugins/ticker/ticker.c:
305 Syd is just so cool. I really can't get over it. He let me come 295 Syd is just so cool. I really can't get over it. He let me come
306 visit him at Netscape one day, and I got to see all of their toys 296 visit him at Netscape one day, and I got to see all of their toys
307 (don't worry, I'm under an NDA). Anyway, this file is for the buddy 297 (don't worry, I'm under an NDA). Anyway, this file is for the buddy
308 ticker. This is also a damn cool file because it's got all of the 298 ticker. This is also a damn cool file because it's got all of the
309 functions that you'd want right up at the top. Someday I want to be 299 functions that you'd want right up at the top. Someday I want to be
310 as cool as Syd. 300 as cool as Syd.
311
312 util.c:
313 There's not really a lot of cohesion to this file; it's just a lot of
314 stuff that happened to be thrown into it for no apparent reason. None
315 of it is particularly tasty; it's all just utility functions. Just
316 like the name says.
317 301
318 For the PRPLs, the only protocol whose "main" gaim file isn't the same as 302 For the PRPLs, the only protocol whose "main" gaim file isn't the same as
319 the name of the protocol is ICQ; for that it's gaim_icq.c. But ICQ is 303 the name of the protocol is ICQ; for that it's gaim_icq.c. But ICQ is
320 deprecated and you should be using Oscar for ICQ anyway. 304 deprecated and you should be using Oscar for ICQ anyway.
321 305