Contribute to the project
What needs to be done?
Many things! More importantly than anything else, your feedback is always
invaluable. If you have ideas
for new uses, especially component ideas, be sure to
make yourself heard.
If you have C coding ability and would like to help out, you can both help
add features to the core system or implement new component ideas. The
TO-DO
should help give an idea of where the current code is lacking and also what
possibilities exist for new features.
Submitting code
CVS is available
from SourceForge. If you submit a patch, e-mail it to me. Also, please try and make it
against the latest CVS code.
Those interested in writing new components need only follow a simple API,
as defined by the following c struct:
struct component {
char *id;
char *description;
char format_char;
char *(*generate)();
void (*init_pref)();
void (*load)();
void (*unload)();
GtkWidget *(*pref_menu)();
|
// Short name of component shown in menus
// Description of component
// Character that is associated with component in format string
// Outputs the string to be inserted into profile/away message
// When executed, creates variables in prefs.xml with default values
// Will be executed whenever AutoProfile is loaded
// Will be executed whenever AutoProfile is unloaded
// Generates the GTK preference menu for particular component
|
};
Examples can be found within the current source code. Most fields can be set to NULL,
with the exception of id. description, and generate.