[IAEP] fixing etoys

Marco Pesenti Gritti mpgritti at gmail.com
Wed Jun 25 10:49:25 CEST 2008


On Wed, Jun 25, 2008 at 4:23 AM, Bernie Innocenti <bernie at codewiz.org> wrote:
> Also, I'd like to check if we could do anything to reduce our
> dependence on DBus to provide basic desktop services for which
> there are existing Freedesktop standards and long established
> X conventions.
>
> If we manage to make DBus entirely optional, the initial effort
> of porting a Linux applications to Sugar would be greatly
> simplified.

As far as I know this is already the case. The only non standard bit
are a couple of custom X properties.

The activity has a DBus service associated with the following methods:

    @dbus.service.method(_ACTIVITY_INTERFACE)
    def SetActive(self, active):
        logging.debug('ActivityService.set_active: %s.' % active)
        self._activity.props.active = active

    @dbus.service.method(_ACTIVITY_INTERFACE)
    def Invite(self, buddy_key):
        self._activity.invite(buddy_key)

    @dbus.service.method(_ACTIVITY_INTERFACE)
    def TakeScreenshot(self):
        self._activity.take_screenshot()

They are all optional. SetActive we might be able to get rid off.
TakeScreenshot is quite an hack, we might be able to use gtk offscreen
rendering or composite to get rid of it in the future. Invite I
personally think it's fine to stay a DBus method.

Obviously you start to need DBus heavily as soon as you want to
interact with the journal and the presence service, though.

Marco


More information about the Its.an.education.project mailing list