Changes

Jump to navigation Jump to search
21 bytes added ,  22:11, 16 January 2018
no edit summary
Line 29: Line 29:     
==== How do I get my activity in the hands of students? ====
 
==== How do I get my activity in the hands of students? ====
:The absolute best way to get your activity out into the world is to attend an [OLPC:Deployment_meetings OLPC deployment meeting] and suggest it to the deployment representatives.  They can test your activity and offer feedback, and will ultimately decide whether it ships.
+
:The absolute best way to get your activity out into the world is to attend a deployment meeting and suggest it to the deployment representatives.  They can test your activity and offer feedback, and will ultimately decide whether it ships within their deployment.
   −
:Another good way is to post and promote your activity on [http://activities.sugarlabs.org/ activities.sugarlabs.org].  This will get your activity into the hands of the G1G1 community and can be a stepping stone to getting included in the [[Sugar on a Stick]] distribution and in OLPC deployments.
+
:Another good way is to post and promote your activity on [http://activities.sugarlabs.org/ activities.sugarlabs.org].
    
==== How do I adopt an orphaned Activity, or become an Activity co-maintainer ====
 
==== How do I adopt an orphaned Activity, or become an Activity co-maintainer ====
:If you want to take on a maintainer-ship role for an Activity, try making contact and emailing the current maintainer first, they may be busy with other projects, or genuinely MIA. If you get no response, ask the Activity Team on the [http://lists.sugarlabs.org/listinfo/sugar-devel Sugar developers mail list], they will try to make a decision within seven days and make contact the Infrastructure Team to change ownership for resources like the [http://bugs.sugarlabs.org bug tracker], [http://git.sugarlabs.org git repository], [http://activities.sugarlabs.org ASLO].
+
:If you want to take on a maintainer-ship role for an Activity, try making contact and emailing the current maintainer first, they may be busy with other projects, or genuinely missing in action. If you get no response, ask the Activity Team on the [http://lists.sugarlabs.org/listinfo/sugar-devel Sugar developers mail list], they will try to make a decision within seven days and make contact the Infrastructure Team to change ownership for resources like the [http://bugs.sugarlabs.org bug tracker], [http://git.sugarlabs.org git repository], [http://activities.sugarlabs.org ASLO].
 
  −
==== Help! I suddenly can't push to Gitorious! ====
  −
:The [http://osuosl.org/ OSUOSL] which hosts Gitorious has an aggressive IP blacklist policy.  If you once were able to push but now cannot, send an email to support@osuosl.org requesting that your IP be removed from the blacklist.
      
==== Is there a Commits mailing list? ====
 
==== Is there a Commits mailing list? ====
:Instead of a commits list, we use the RSS feed at http://git.sugarlabs.org/events.atom.  This tracks the activity (commits, branches, comments, merge requests) of all projects hosted on Gitorious.  Commits of PO files by Pootle are tracked on the [http://lists.sugarlabs.org/listinfo/pootle-commits pootle-commits] list.
+
:No.
    
==== How do I get a trac component associated with my project? ====
 
==== How do I get a trac component associated with my project? ====
 
:File a [http://bugs.sugarlabs.org ticket] with the request. Please assign the ticket to the trac component, mark it as a task and don't forget to mention the name of your project and the default owner for the tickets.
 
:File a [http://bugs.sugarlabs.org ticket] with the request. Please assign the ticket to the trac component, mark it as a task and don't forget to mention the name of your project and the default owner for the tickets.
 +
 +
:Or use GitHub issues feature.
    
==== How do I analyze my activity's memory usage? ====
 
==== How do I analyze my activity's memory usage? ====
 
:Please refer to these pages for assistance in understanding the memory usage patterns of activities and the shell and for detecting leaks: http://wiki.laptop.org/go/MemoryUsageAnalysis and http://wiki.laptop.org/go/Memory_leak_testing
 
:Please refer to these pages for assistance in understanding the memory usage patterns of activities and the shell and for detecting leaks: http://wiki.laptop.org/go/MemoryUsageAnalysis and http://wiki.laptop.org/go/Memory_leak_testing
   −
==== How does one package an activity? ====
+
==== How does one bundle an activity? ====
 
:Save the [http://git.sugarlabs.org/projects/hello-world/repos/mainline/blobs/master/setup.py setup.py] file in the top directory of your activity development tree. To make an activity bundle, run the following code:
 
:Save the [http://git.sugarlabs.org/projects/hello-world/repos/mainline/blobs/master/setup.py setup.py] file in the top directory of your activity development tree. To make an activity bundle, run the following code:
 
:{{Code|python setup.py dist_xo}}
 
:{{Code|python setup.py dist_xo}}
Line 89: Line 88:  
<pre>
 
<pre>
 
def get_hardware():
 
def get_hardware():
     """ Determine whether we are using XO 1.0, 1.5, or "unknown" hardware """
+
     """ Determine whether we are using XO-1, XO-1.5, or "unknown" hardware """
 
     if _get_dmi('product_name') != 'XO':
 
     if _get_dmi('product_name') != 'XO':
 
         return 'unknown'
 
         return 'unknown'
Line 109: Line 108:  
</pre></li>
 
</pre></li>
 
</ol>
 
</ol>
 +
 +
:Some activities have a hw.py file that explains further and supports later models.
    
==== How do I tell Sugar that my activity does not write any data to the Journal? ====
 
==== How do I tell Sugar that my activity does not write any data to the Journal? ====
Line 114: Line 115:  
:One of my activities is a game that does not produce any document in the journal. How do I inform Sugar?
 
:One of my activities is a game that does not produce any document in the journal. How do I inform Sugar?
   −
:Pass to Activity.__init__ create_jobject=False
+
:You cannot do this; there was a way to do it, but it was removed.
<ol style="list-style-type:none">
  −
<li>
  −
<pre>
  −
class MyActivity(activity.Activity):
  −
    def __init__(self, handle):
  −
        activity.Activity.__init__(self, handle, create_jobject=False)
  −
</pre></li>
  −
<li>(But keep in mind http://bugs.sugarlabs.org/ticket/1714)</li>
  −
</ol>
     −
==== How do I run Sugar Runner/emulator in a way that matches the resolution of the OLPC XO? ====
+
==== How do I run Sugar in a way that matches the proportions of the OLPC XO? ====
    
:Running the emulator with {{Code|sugar-runner --resolution 832x624}} or, on older versions, {{Code|sugar-emulator -i 832x624}} will give a close match to the XO screen proportions, i.e., the toolbar will be a close match.
 
:Running the emulator with {{Code|sugar-runner --resolution 832x624}} or, on older versions, {{Code|sugar-emulator -i 832x624}} will give a close match to the XO screen proportions, i.e., the toolbar will be a close match.
Line 152: Line 144:     
  export SUGAR_LOGGER_LEVEL=debug
 
  export SUGAR_LOGGER_LEVEL=debug
 +
 +
==== How do I use the Gtk+ Inspector? ====
 +
 +
For Gtk+ 3.0 activities, an interactive inspector is available.
 +
 +
On Debian or Ubuntu distributions, install the libgtk-3-dev package;
 +
 +
sudo apt install libgtk-3-dev
 +
 +
Set the GTK_DEBUG environment variable to ''interactive'' before running an activity, like this;
 +
 +
cd Activities/HelloWorld.activity
 +
GTK_DEBUG=interactive sugar-activity .
 +
 +
Or, request the feature from your activity, like this;
 +
 +
self.canvas.get_toplevel().set_interactive_debugging(True)
 +
 +
Because Sugar Gtk+ activities are full screen, use Alt+Tab or Alt+Shift+Tab to switch between the inspector and the activity.
 +
 +
It can help with debugging to set the ''name'' property of widgets using program-specific names, so that the widget tree shown by the inspector can be related to the widget tree in the source code.
 +
 +
See also
 +
* https://developer.gnome.org/gtk3/stable/gtk-running.html
 +
* https://wiki.gnome.org/Projects/GTK+/Inspector

Navigation menu