Sugar Architecture/API: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 46: Line 46:
*[[Software_components#Libraries_and_Plugins|Avahi]]
*[[Software_components#Libraries_and_Plugins|Avahi]]
*[[GTK for OLPC|GTK]] - GNOME Toolkit
*[[GTK for OLPC|GTK]] - GNOME Toolkit
*[http://www.cairographics.org/manual/ Cairo]
*[[Cairo]]
*[[D-BUS]]
*[[D-BUS]]
*[[Evince]]
*[[Evince]]

Revision as of 03:15, 10 March 2007

Table of Contents
API Introduction
Third Party Packages GTK AbiWord Avahi Cairo D-Bus evince Hippo
Sugar Packs Library Packages Shell Packages Services Package Activity APIs

Sugar is built in python with a variety of open source packages. Programing in the sugar environment requires a basic understanding of both the Sugar User Interface, supporting third party packages, and built in sugar packages.

Traditional software packages are built against Application Program Intefaces. Sugar runs Activities instead of applications, but from a developers point of view, it's the same thing.

Third Party Packages

  • Avahi - Network Discovery Service
  • Matchbox - Graphical Windows Manager
  • Xul - XML User Interface Language (aka gecko and other identity challenged projects)
  • Pango - GTK package for text rendering
  • ATK - GNOME Accesibility Toolkit
  • gstreamer - media player
  • X windows - the tried and true ancient X11 display libraries (Shoulders on which much else stands).

Sugar Packs

Sugar Library Packages

Many Sugar Library packages reside in /usr/lib/python*/site-packages/sugar

Modules:

  • TracebackUtils
  • emulator
  • env
  • logger
  • profile
  • simulator
  • util

Subpackages:

  • sugar.activity
  • sugar.chat
  • sugar.clipboard
  • sugar.datastore
  • sugar.graphics
  • sugar.p2p
  • sugar.presence

Package sugar.shell

Most of the Human Interface is implemented in the sugar shell packages located in /usr/share/sugar/shell

Modules:

  • sugar.shell.HardwareManager

Subpackages:

Package sugar.services

Various services are provided in /usr/share/sugar/services

Modules: none

Subpackages:

  • sugar.services.clipboard
  • sugar.services.console
  • sugar.services.datastore
  • sugar.services.nm
  • sugar.services.presence

Sugar Activity APIs