Development Team/Almanac: Difference between revisions

m fix heading levels. (DON'T use "=heading="!), change http links to wiki links, add Category:Documentation
Line 1: Line 1:
{{Sugar Almanac TOC}}
{{Sugar Almanac TOC}}
= How do I get additional help beyond this almanac? =
== How do I get additional help beyond this almanac? ==
* Looking to get started with the basics of sugar development? Check out Christoph Derndorfer's [http://www.olpcaustria.org/mediawiki/index.php/Activity_handbook Activity Handbook].  
* Looking to get started with the basics of Sugar development? Check out Christoph Derndorfer's [http://www.olpcaustria.org/mediawiki/index.php/Activity_handbook Activity Handbook].  
* See also [[Sugar Code Snippets]]
* See also [[Sugar Code Snippets]]


Line 7: Line 7:
Now, on to the actual almanac ...
Now, on to the actual almanac ...


= Package: sugar =
== Package: sugar ==
* [[sugar.env]]
* [[sugar.env]]
* [[sugar.profile]]
* [[sugar.profile]]
Line 13: Line 13:
* [[sugar.logger]]
* [[sugar.logger]]


= Package: sugar.activity =
== Package: sugar.activity ==
* [[sugar.activity.activity]]
* [[sugar.activity.activity]]
* [[sugar.activity.activityfactory]]
* [[sugar.activity.activityfactory]]
* [[sugar.activity.registry]]
* [[sugar.activity.registry]]


= Package: sugar.datastore =
== Package: sugar.datastore ==
* [[sugar.datastore.datastore]]
* [[sugar.datastore.datastore]]


= Package: sugar.graphics =
== Package: sugar.graphics ==
* [[sugar.graphics.alert]]
* [[sugar.graphics.alert]]
* [[sugar.graphics.icon]]
* [[sugar.graphics.icon]]
Line 28: Line 28:
* [[sugar.graphics.toolbox]]
* [[sugar.graphics.toolbox]]


= Package: sugar.presence =
== Package: sugar.presence ==
* [[sugar.presence.activity]]
* [[sugar.presence.activity]]
* [[sugar.presence.buddy]]
* [[sugar.presence.buddy]]
* [[sugar.presence.presenceservice]]
* [[sugar.presence.presenceservice]]


= Clipboard =
== Clipboard ==
* Notes on using [[GTK's Clipboard Module in Sugar]]
* Notes on using [[GTK's Clipboard Module in Sugar]]


= Logging =
== Logging ==
* [[sugar.logger]]
* [[sugar.logger]]
* Notes on using [[Python Standard Logging in Sugar]]
* Notes on using [[Python Standard Logging in Sugar]]


= Internationalization =
== Internationalization ==
[[Internationalization in Sugar]]
[[Internationalization in Sugar]]


= Text and Graphics for Sugar Activities =
== Text and Graphics for Sugar Activities ==
* [[Pango]]
* [[Pango]]


= MISCELLANEOUS =
== Miscellaneous==


The tasks below are random useful techniques that have come up as I write code and documentation for this reference. They have yet to be categorized, but will be as a sufficient set of related entries are written.
The tasks below are random useful techniques that have come up as I write code and documentation for this reference. They have yet to be categorized, but will be as a sufficient set of related entries are written.
Line 83: Line 83:


=== How do I know whether my activity is running on a physical XO? ===
=== How do I know whether my activity is running on a physical XO? ===
While your activity is typically going to be run on a real XO, there might be circumstances (such as for development through sugar-jhbuild) that you will not be running on an XO machine. The easiest way to tell if you are on a physical XO is to check whether /sys/power/olpc-pm, an essential power management file for the XO, exists. <ref>[http://lists.laptop.org/pipermail/devel/2008-June/015923.html reliably detecting if running on an XO]</ref> <ref>[http://wiki.laptop.org/go/Power_Management_Interface OLPC Power Management Interface]</ref>
While your activity is typically going to be run on a real XO, there might be circumstances (such as for development through sugar-jhbuild) that you will not be running on an XO machine. The easiest way to tell if you are on a physical XO is to check whether /sys/power/olpc-pm, an essential power management file for the XO, exists. <ref>[http://lists.laptop.org/pipermail/devel/2008-June/015923.html reliably detecting if running on an XO]</ref> <ref>OLPC [[Power Management Interface]]</ref>


<pre>
<pre>
Line 119: Line 119:
There are several pages that give you instructions on how to install/update your current build.  
There are several pages that give you instructions on how to install/update your current build.  


* If you already have a working build installed and an internet connection, first try [http://wiki.laptop.org/go/Olpc-update olpc-update].  
* If you already have a working build installed and an internet connection, first try [[olpc-update]].  
* If that doesn't work, you can look at instructions for an [http://wiki.laptop.org/go/Activated_Upgrade upgrade that can be done via USB] boot.  
* If that doesn't work, you can look at instructions for an [[Activated upgrade]] that can be done via USB] boot.  


As the instructions on the pages linked above note, make sure to install your activities separately after you have upgraded to a specific base build.
As the instructions on the pages linked above note, make sure to install your activities separately after you have upgraded to a specific base build.
Line 127: Line 127:
=== I am developing on an XO laptop, but my keyboard and language settings are not ideal. How can I change them? ===
=== I am developing on an XO laptop, but my keyboard and language settings are not ideal. How can I change them? ===


Internationalized laptops will often have settings that might slow you down while developing. To change around the language settings so you can better understand environment messages, use the [http://wiki.laptop.org/go/Sugar_Control_Panel sugar-control-panel].
Internationalized laptops will often have settings that might slow you down while developing. To change around the language settings so you can better understand environment messages, use the [[Sugar Control Panel]]


Keyboard settings on internationalized laptops<ref>[http://wiki.laptop.org/go/Keyboard_layouts#OLPC_keyboard_layouts]</ref> can also be suboptimal, especially as characters like "-" and "/" are in unfamiliar positions. You can use the [http://wiki.laptop.org/go/Keyboard_layouts setxkbmap command] in the terminal activity to reset the type of keyboard input used and then attach a standard U.S. keyboard that will allow you to type normally. The command below sets the keyboard to the US mapping (it will reset to the default internationalized mapping upon restart).  
Keyboard settings on internationalized laptops<ref>[[Keyboard layouts#OLPC keyboard layouts]]</ref> can also be suboptimal, especially as characters like "-" and "/" are in unfamiliar positions. You can use the <tt>setxkbmap</tt> command in the [[Terminal Activity]] to reset the type of keyboard input used and then attach a standard U.S. keyboard that will allow you to type normally. The command below sets the keyboard to the US mapping (it will reset to the default internationalized mapping upon restart).  


<pre>
setxkbmap us
[olpc@xo-05-29-80 ~] setxkbmap us
</pre>


= Notes =
== Notes ==
<references />
<references />
[[Category:Documentation]]