Whiteboard support for XMPP Protocol and New Enriched Gtkwhiteboard

Mark Doliner mark at kingant.net
Mon Feb 28 04:17:57 EST 2011

On Mon, Jan 24, 2011 at 6:00 AM, Pankaj Singh
<singh.pankaj.iitkgp08 at gmail.com> wrote:
> Since, by default "button_press_event" and "button_release_event" are
> connected to "pidgin_whiteboard_brush_down" and "pidgin_whiteboard_brush_up"
> respectively, it conflicts with Drag and Draw feature for drawing eclipse,
> rectangle etc. What I want to have is, by default these events will be
> registered with brush but as soon as "Draw empty Eclipse" or "Draw Empty
> Rectangle" button is clicked, control of these events will be given to
> respective functions.
> I am trying to right new functions in order to fill reserved places in
> PurpleWhiteboardUiOps, and PurpleWhiteboardPrplOps. Since, we are new at
> libpurple and pidgin developemt, I want to know following things

Cool!  It's nice to see someone working with the whiteboard code.  So
you're changing code that lives in libpurple and Pidgin?  I know it's
been a while since you sent this email (sorry)... how is your project

> How much changes are acceptable

Is your end goal to submit your changes to the libpurple/Pidgin
project and have them be accepted into the main repository?  There are
a few things to consider here.
* The smaller a patch is, the easier it is for us to review and accept
* If you need to make changes, then you should make changes.  It's
silly to restrict yourself because you're afraid of changing things.
* We do have a version scheme that we adhere to.  See
for details.  Basically: If you add any new public function then your
code would have to wait to be included until we increment the minor
version number.  If you remove or change a public function (break API
compatibility) then your code would have to wait to be included until
we increment the major version (Pidgin 3.0.0).

You mentioned that you're adding functions in place of the "reserved"
fields in a struct?  If you run out of room in one of the structs you
may want to look at struct_size in PurplePluginProtocolInfo.  It's a
little hack that we use to add fields to that struct without breaking
API compatibility with existing plugins.

> Suggestion regarding workflow etc.

It sounds like there are multiple people working on this project, and
that you're making a fair number of changes.  I definitely think you
should use a version control system of some sort.  You could check out
our project from our Monotone repository and commit changes to that.
And either share a single database or push/pull changes between
yourselves.  Or you could set up a local version control system using
git or svn or whatever your preference is and use that.

> if any experienced pidgin developer can guide us

Maybe.  Unfortunately most of us are very busy :-/  You might get the
best results by asking in our XMPP conference
devel at conference.pidgin.im.  The easier a question is to answer, the
more likely it will get answered :-)


More information about the Devel mailing list