[sugar] RFC: activity bundles
Marco Pesenti Gritti
mpg
Fri Sep 1 05:29:12 EDT 2006
Bert Freudenberg wrote:
>
> Am 01.09.2006 um 02:36 schrieb Dan Williams:
>
>> http://wiki.laptop.org/go/Activity_Bundles
>>
>> Comments welcome. Especially from you, Blizzard, since easily
>> installable and transferable activities is your baby :)
>
> You wrote: 'Each activity bundle must, in its root directory, contain
> a file with the same name as the activity bundle, but ending in
> ".info" rather than ".activity"'.
>
> IMHO a fixed name, like "activity.info" would be preferable.
>
> We could then rename the bundle, try different versions etc. without
> needing to touch the inside. Also it would be simpler to script:
>
> grep default_type *.activity/activity.info
>
> It's common practice as well, like JAR's manifest.mf or OS/X bundle's
> info.plist.
Dan,
I tend to agree with Bert reasoning here.
More comments:
>These should always be stored in an activity-specific directory in the
user's sugar profile, available >through the SUGAR_PROFILE environment
variable
Currently SUGAR_PROFILE is the profile name and the actual profile path
is ~/.sugar/$SUGAR_PROFILE. We might specify this or have the session to
export SUGAR_PROFILE_PATH based on SUGAR_PROFILE.
>icon = activity-web
>This key is optional. It points to the activity's icon. The
>icon is first searched for in the >activity bundle's root directory, and
>if not found, is looked up in the current GTK icon >theme. It cannot
>contain a path.
What is the actual icon filename when looking up the bundle directory?
$icon + '.svg' or should the field be icon = activity-web.svg in that case?
We also need to specify the icon format (maybe thinking a bit more to
the css properties and possibly improving them). Something I was
thinking is that the css should be external, only the class attributes
should be required in the svg files... librsvg does not support external
css yet but we can just add the whole css to the svg file after loading.
>default_type = _web_olpc._udp
>Each activity must have a default type. This must follow the
>mDNS specification for serivce types and must be globally unique. This
>key is required. It is used as the service type for the mDNS service
>when the activity is shared.
Do we actually want to make this required? There are activities that
might not be sharable (terminal for example) or that haven't implement
sharing yet.
>show_launcher = yes
>This key is optional. If specified, it indicates that the activity
should show in the Sugar <http://wiki.laptop.org/go/Sugar> panel
>launcher, represented by the activity's icon. If specified, the 'icon'
key must also be specified.
Since it's optional might be worth adding that it defaults to no.
Marco
More information about the Sugar-devel
mailing list