Activity Team/Sweetener

Sweetener is a desktop framework which provides compatibility between Sugar and other Desktops. Does all the repetitive parts, for be more friendly with developers. It's divided in modules, they can be included in an activity for do a specific task.

Maintainers

 * Daniel Francis

Current Release
At the moment it hasn't got a stable release. Clone the GIT Repository and feel free to send patches, request merges or contact the maintainers.

Documentation
The Sweetener documentation is available in.

Its source code is in Git: http://git.sugarlabs.org/sweetener/doc

Get started creating an activity
$ git clone git://git.sugarlabs.org/sweetener/sweetener.git Makefile activity.py canvas.py info.py options.py setup.py Optional, only if you want to get your activity working on other Linux desktops: application.py hello-integration # (rename it to your activity name) activity/ sugar/ desktop/ # (Only if you want to run your activity on Linux desktops) $ git submodule add git://git.sugarlabs.org/sweetener/makescripts $ git submodule add git://git.sugarlabs.org/sweetener/sugar sugar/sweetener $ git submodule add git://git.sugarlabs.org/sweetener/desktop desktop/sweetener
 * Start a repository on Git
 * Clone Sweetener
 * Copy to your new activity directory the following files:
 * Make the following directories inside your activity:
 * Clone sweetener submodules
 * 1) This is only for other Linux desktops.

$ make activity $ python setup.py dev $ make xo_bundle $ make dist_tarball
 * Fill info.py with information about your activity. See info.py fields.
 * Create a sugarized icon on activity/activity-(lower-name).svg where lower-name must be the same as the variable on info.py
 * Generate the activity.info file trough the command make.
 * Install it
 * Make a .xo bundle
 * Make a desktop tarball

Activity information
The way to tell the framework scripts and all your program some data is through the file info.py

We recommend a text search for fill the following fields:


 * Activity Service Name
 * IO Mode Document or Config. Important at desktops.
 * Generic Name Only for desktops. See examples at the file comments.
 * Activity Name
 * lower-name
 * copyright note (Obligatory for desktops, recommended)
 * Version
 * Summary
 * Authors
 * If any, Web site and documentation URL (Only for desktops)
 * Categories (Only for desktops)
 * Filter Important on desktops with IO mode Document, also needed to create your own mimetype.
 * license name

Key accelerators
Gtk Stock sets by default some accelerators for convention, like Ctrl+Q for Quit. Sweetener sets and overwrites some key accelerators for integrate them with Sugar. Keep this in mind when setting up key accelerators in your activity. At your convenience, edit files sugar/sweetener/stock.py and desktop/sweetener/stock.py.

Activities using Sweetener

 * Graph Plotter
 * Illustrate Sweetener (Development)

Gtk2 and Gtk3 Support
There are efforts to port Sweetener to Gtk3, but at the moment it isn't possible thanks to the upstream bug GNOME#652697.