Sugar Architecture/API: Difference between revisions
No edit summary |
|||
Line 45: | Line 45: | ||
== Third Party Packages == |
== Third Party Packages == |
||
*[[Abiword]] |
*[[Abiword]] |
||
⚫ | |||
*[[Software_components#Libraries_and_Plugins|Avahi]] |
*[[Software_components#Libraries_and_Plugins|Avahi]] - Network Discovery Service |
||
*[[GTK for OLPC|GTK]] - GNOME Toolkit |
*[[GTK for OLPC|GTK]] - GNOME Toolkit |
||
⚫ | |||
*[http://www.cairographics.org/manual/ Cairo] |
*[http://www.cairographics.org/manual/ Cairo] |
||
*[[D-BUS]] |
*[[D-BUS]] |
||
*[[Evince]] |
*[[Evince]] |
||
*[[HippoCanvas]] |
*[[HippoCanvas]] |
||
*[[Avahi]] - Network Discovery Service |
|||
*[[Matchbox]] - Graphical Windows Manager |
*[[Matchbox]] - Graphical Windows Manager |
||
⚫ | |||
*[[Pango]] - GTK package for text rendering |
*[[Pango]] - GTK package for text rendering |
||
⚫ | |||
⚫ | |||
*[[X Window System]] - the tried-and-true ancient X11 display libraries |
*[[X Window System]] - the tried-and-true ancient X11 display libraries |
||
⚫ | |||
== Sugar Packs == |
== Sugar Packs == |
Revision as of 14:37, 13 March 2007
Table of Contents | |||||||||||||||||
API Introduction | |||||||||||||||||
Third Party Packages | GTK | AbiWord | Avahi | Cairo | D-Bus | evince | HippoCanvas | ||||||||||
Sugar Packs | Python Scripts | Library Packages | Shell Packages | Services Package | Activity APIs |
Sugar is written in Python with a variety of open source packages. Programming 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 Programming Interfaces. Sugar runs Activities instead of applications, but from a developer's point of view, it's the same thing.
Third Party Packages
- Abiword
- ATK - GNOME Accessibility Toolkit
- Avahi - Network Discovery Service
- GTK - GNOME Toolkit
- gstreamer - media player
- Cairo
- D-BUS
- Evince
- HippoCanvas
- Matchbox - Graphical Windows Manager
- Pango - GTK package for text rendering
- X Window System - the tried-and-true ancient X11 display libraries
- Xul - XML User Interface Language (aka gecko and other identity challenged projects)
Sugar Packs
Sugar Python Scripts
Several Python Scripts reside in /usr/bin
Scripts:
- sugar-activity
- sugar-activity-factory
- sugar-clipboard
- sugar-console
- sugar-data-store
- sugar-emulator
- sugar-emulator-shutdown
- sugar-nm-applet
- sugar-presence-service
- sugar-setup-activity
- sugar-shell
Sugar Library Packages
Many Sugar Library packages reside in /usr/lib/python*/site-packages/sugar
Modules:
- TracebackUtils
- emulator
- env
- logger
- profile
- simulator
- util
Subpackages:
Package sugar.shell
Most of the Human Interface is implemented in the sugar shell packages located in /usr/share/sugar/shell
Modules:
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
The previous API sections detail all sugar interfaces. Here is an abbreviated list of the APIs most relevant for activity programming:
- TBD