You are here

Development

Coccinella development

The Secret Gardens of DnD

The Drag and Drop (DnD) areas of an application is like the fields in a garden. Some areas, or widgets, can deliver something, acting as a drag source, like your potato field you have in your backyard (You say you don't have any?. Strange!), while other receive something, acting as a drop source. Some areas are both sources and targets. And you can't know which role a widget has until you have actually tested.

Roster DnD

Roster drag and drop

It wasn't until very recently when I looked at some screen shots of Coccinella from other people I realized that contacts must be organized into groups for the roster to be manageable, and that the current method setting the group element for each contact was inadequate.

Since the treectrl widget I use for the roster actually supports DnD actions internally, the task was pretty straightforward. Treectrl is somewhat of an "odd bird" in the nest of Tcl by its more complex programming interface, but it was possible to create an add-on package that made the process extremely simple.

The situation is very similar to your usual desktop experience. Just select the contacts and drag them to an existing group, or outside any group to remove the group tag. This makes it simpler to organize any roster.

I also took the opportunity to make online contacts drag targets of desktop files. In other words, just drag a file from your desktop to an online contact to initiate file transfer.

Entity Capabilities

Entity Capabilities is a method to reduce traffic by adding a compressed variant of disco info results in presence elements. Recently the XEP-0115 got an update which unfortunately breaks backwards compatibility.

Rounded Text Widget

Tcl/Tk is "known" for its ugliness to many developers but to them I can only say: you are living in the past. The tile theme engine is certainly not a one trick pony, but has a lot of functionality to offer that is not immediately obvious.

Coccinella translations

This morning Mats sent the following email to translators:

Pages

Subscribe to RSS - Development