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