comparison HACKING @ 1558:ab5dd2c7e7f8

[gaim-migrate @ 1568] hi there committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Sat, 10 Mar 2001 09:34:31 +0000
parents 72692c70317e
children 0bdc891164ad
comparison
equal deleted inserted replaced
1557:1ca5f5fcd483 1558:ab5dd2c7e7f8
39 on in the preferences) whether or not --enable-debug was selected. Most 39 on in the preferences) whether or not --enable-debug was selected. Most
40 of the information that's printed is useless anyway though; so the 40 of the information that's printed is useless anyway though; so the
41 --enable-debug option really doesn't do a whole lot. 41 --enable-debug option really doesn't do a whole lot.
42 42
43 This file was last modified by $Author: warmenhoven $ on 43 This file was last modified by $Author: warmenhoven $ on
44 $Date: 2000-12-12 07:56:53 -0500 (Tue, 12 Dec 2000) $. 44 $Date: 2001-03-10 04:34:31 -0500 (Sat, 10 Mar 2001) $.
45 45
46 46
47 PROGRAM FLOW 47 PROGRAM FLOW
48 ============ 48 ============
49 49
115 initialization stuff, and showing the login window. It's pretty tiny 115 initialization stuff, and showing the login window. It's pretty tiny
116 and there's not really much to edit in it. This has some of the most 116 and there's not really much to edit in it. This has some of the most
117 pointless functions, like gaim_setup, which optionally turns off sounds 117 pointless functions, like gaim_setup, which optionally turns off sounds
118 on signon. A lot of this file should actually be part of other files. 118 on signon. A lot of this file should actually be part of other files.
119 119
120 applet.c:
121 This controls most things that are related to the applet. I don't like
122 looking at this file because it still has functionsLikeThis. But at
123 least it doesn't have many of them anymore. Anyway, this file isn't
124 very big because there's really not much difference between the panel
125 version and the app version.
126
120 away.c: 127 away.c:
121 This takes care of most of the away stuff: setting the away message 128 This takes care of most of the away stuff: setting the away message
122 (do_away_message); coming back (do_im_back); drawing the away window; 129 (do_away_message); coming back (do_im_back); drawing the away window;
123 etc. 130 etc. Away messages work really oddly due to multiple connections and
131 multiple protocols; I think there are really only two or three people
132 who know it all they work and I don't think any of us know why it works
133 that way.
124 134
125 browser.c: 135 browser.c:
126 Code for opening a browser window. Most of the code is trying to deal 136 Code for opening a browser window. Most of the code is trying to deal
127 with Netscape. The most important function here is open_url. Have fun. 137 with Netscape. The most important function here is open_url. Have fun.
128 (This file may give you problems with GTK 2.0, because it uses parts 138 (This file may give you problems with GTK 2.0, because it uses parts
160 gaimrc.c: 170 gaimrc.c:
161 This controls everything about the .gaimrc file. There's not really much 171 This controls everything about the .gaimrc file. There's not really much
162 to say about it; this is probably one of the better designed and easier 172 to say about it; this is probably one of the better designed and easier
163 to follow files in gaim. The important functions are towards the bottom. 173 to follow files in gaim. The important functions are towards the bottom.
164 174
165 gnome_applet_mgr.c: 175 gtkimhtml.c:
166 This controls most things that are related to the applet. I don't like 176 This is gaim's HTML widget. It replaced the old widget, GtkHtml (which
167 looking at this file because it still has functionsLikeThis. But at 177 was different than GNOME's GtkHTML). It's self-contained (it doesn't
168 least it doesn't have many of them anymore. Anyway, this file isn't 178 use any of gaim's code) and is actually a separate project from gaim
169 very big because there's really not much difference between the panel 179 (but is maintained by Eric).
170 version and the app version. 180
171 181 gtkspell.c:
172 gtkhtml.c: 182 This controls spell checking. It's not a widget per se but it does have
173 This is really just one big hack. I recommend not looking at this 183 some influence over the GtkText widget. It's a separate project from
174 file if you want to save your sanity. (It's going to be replaced 184 gaim; if you have a patch for this file send it to the author (the
175 eventually anyway.) People have asked why we don't replace this with 185 contact info is in the file).
176 GNOME's GtkHTML, or embed mozilla (yes, they were serious). There
177 are two reasons. The first is that doing that would cause gaim to
178 require 6 extra libraries that nobody needs or wants or has. The
179 second is that we really don't need, or even want, a full-fledged
180 HTML viewer. We don't even want a normal HTML viewer because the text
181 that gets sent gets parsed and displayed different than normal HTML.
182 (Try inserting a newline and you'll see what I mean.) We should only
183 support about 12 tags, not the 50 that normal HTML supports.
184 186
185 gtkticker.c: 187 gtkticker.c:
186 Syd, our resident GTK God, wrote a GtkWidget, GtkTicker. This is that 188 Syd, our resident GTK God, wrote a GtkWidget, GtkTicker. This is that
187 widget. It's cool, and it's tiny. 189 widget. It's cool, and it's tiny.
188 190