Back to Links

Aaron Cayard-Roberts
Open Source - gaim
V3.0


V3.0
11-30-00


Design:
Right now the plugin works but its not very 'nice'. It prints out the mail status output to standard out and not a pop-up alert window like I want. It also doesn't save from the preferances window, so you have to go in and change things from the text file directly still.

For my next contrabution to gaim I need to find out some stuff about the TOC/OSCAR protocol there using. What I want to do is make something called buddyicons work with gaim that aim already does. BuddyIcons are just icons that apear on the chat window of the person you chatting to. This is a nice easy way to id a person, gives some personality to people, and it would be a handy way to distingush where you chatting from (example: I'm using a glowing red eyes when I'm chating from windows and I want to have pengin or something when I'm using gaim.) This might not even be posable with the commonly used toc protocol...this is just something I thought of on the fly that I would like to do.

Implementation:
To fix the stuff in the plugin I"m planning on just doing some more gtk window stuff where I have it print out the number of e-mails. I'm also going to do some stright forward read file write file stuff in the save/load preferances. I also need to get rid of some gnome functions in the current saveing of the preferances.


V2.0
11-14-00


Design:
Right now I've got the gaim email plugin partly working. It complies and loads without any errors and then sucessfully checks the mail on a pop server. But after a few minutes of running it causes an async error from Xlib. I think this is eather from the pics loading or the playing of sound, mostly because I haven't gotten the chance to test them yet and because I don't think anything else uses Xlib. So I'm going to strip out all of the sound and pics options from the plugin and try it again and then slowly start adding the sound and pics fuctionality again.

Implementation:
I'm planning on deleteing all of the sound and pics vars from the mailVars struct and mailProperties struct and then removing all of the functions that update or read those variables in the struct. I'm also planning to modify the gaim_plugin_config() window at this time so that it no longer has any gnome dependent functions or directories in it. I'm then planning on making a window pop up when there is new mail instead of the current print to standard out that is is doing now. After all of this is working I will start adding in the sound support again and maybe some pics after that.

Architecture:
Removal of sound/pics vars from the sturcts and commenting out all of the code that accesses them in one way or another.

Requirements:
no change.

Time:
Design: 30 min
Codeing: 3 hours
Testing: 5 hours
Write-up: 20 min


V1.0
11-13-00


Design:
I'm planning on makeing a plugin for gaim that will check a pop mail account. Once the plugin has been loaded the user will be able to access a configure screen that well let you enter in your user name, password, and the pop servers address. I'm also planning on supporting sound selection and pics to be used when there is new mail, which can be selected through the configure window, although this may be edited out depending on how much time the implementaion takes. Currently I'm planning on haveing a window pop up when new mail has arrived, but if there is time I may include an option to have a mail status area on the buddy window that will always show the status of the pop mail account. I've looked at some other pop mail checkers and I'm planning on reusing a lot of the code from the better one I've seen, called sonicmail.

Implementation:
I'm going to make a file called checkmail.c which will have several different fuctions(many coming from the sonicmail program). According to the gaim plagin api there has to be a global variable called handle, static void *handle = NULL;, and a fucntion called gaim_plugin_init(void *h), which needs to have handle = h; in it. This handle can then be used to communicate with gaim via signals. Another fuction that I'm planning on making is the configure one which has to be called gaim_plugin_config(), which should pop up a dialog window of some sort.

Architecture:
I'm not changeing the architecture of gaim at all because this is a plugin it will be coded completely speritly from gaim, and will not even use anything spacific to gaim. Right now I'm planning on haveing some structs like mailVars ( which will have easy to read things like the states of the popmail account, the number of e-mails mails, the username, servername, the time between checks, sound settings, and the sound to play), mailProperties (this will store some of the same things but in terms of GtkWidgets for ease of use with Gtk, like property_box and some pop mail server stuff), and posably a pixmaps struct to store the locations of different pics that I might have display in the new mail window

Requirements:
Right now some of the code I'm using requires gnome to load the prefs from a file in the .gnome directory but I will soon just find a place to have the plugin make the file and read it from there that is not spacific to gnome. Other then that, just gaim and a bunch of libs.

Time:
Design: 2 hours
Codeing: 6 hours
Testing: 2 hours
Write-up: 2 hours


Back to Links