Re: [Sugar-devel] Installing sugar-jhbuild in F17
Hi all. I am trying to setup sugar-jhbuild, on Fedora-17-Beta-2 on a VirtualBox. I cloned the sources for setting up sugar-jhbuild (as per http://wiki.sugarlabs.org/go/Development_Team/Jhbuild). However, when I myself could not build telepathy-mission-control. So, as suggested in this thread, I skipped this module, and instead tried relying on the the system package. So, when I started ./sugar-jhbuild run sugar-emulator, the emulator crashed, with the following shell.logs :: ## :30 ** (sugar-session:1544): DEBUG: starting phase 1 ** (sugar-session:1544): DEBUG: ending phase 1 ** (sugar-session:1544): DEBUG: starting phase 2 ** (sugar-session:1544): DEBUG: ending phase 2 ** (sugar-session:1544): DEBUG: starting phase 3 ** (sugar-session:1544): DEBUG: ending phase 3 ** (sugar-session:1544): DEBUG: starting phase 4 ** (sugar-session:1544): DEBUG: ending phase 4 ** (sugar-session:1544): DEBUG: starting phase 5 ** (sugar-session:1544): DEBUG: ending phase 5 1336377507.786258 WARNING root: No gtk.AccelGroup in the top level window. 1336377507.803286 WARNING root: No gtk.AccelGroup in the top level window. /usr/lib/python2.7/site-packages/sugar/graphics/palette.py:412: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed _sugarext.Menu.do_insert(self, item, position) /usr/lib/python2.7/site-packages/jarabe/desktop/homewindow.py:73: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed self.add(self._home_box) 1336377513.719197 ERROR dbus.proxies: Introspect error on org.freedesktop.ohm:/org/freedesktop/ohm/Keystore: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.ohm was not provided by any .service files 1336377513.720229 ERROR root: Cannot unfreeze the DCON /usr/bin/sugar-session:273: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed gtk.main() :30 1336377513.990562 WARNING root: No gtk.AccelGroup in the top level window. 1336377513.999429 WARNING root: No gtk.AccelGroup in the top level window. 1336377514.007111 WARNING root: No gtk.AccelGroup in the top level window. 1336377514.012310 WARNING root: No gtk.AccelGroup in the top level window. /usr/lib/python2.7/site-packages/jarabe/frame/framewindow.py:132: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed self._container.get_child().pack_start(child, expand=expand, fill=fill) ** Message: pygobject_register_sinkfunc is deprecated (GstObject) 1336377520.564602 WARNING root: No gtk.AccelGroup in the top level window. 1336377520.564989 WARNING root: No gtk.AccelGroup in the top level window. 1336377528.639316 ERROR dbus.connection: Exception in handler for D-Bus signal: Traceback (most recent call last): File /usr/lib/python2.7/site-packages/dbus/connection.py, line 214, in maybe_handle_message self._handler(*args, **kwargs) File /usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py, line 430, in __buddy_info_updated_cb self.emit('buddy-updated', self._buddy_handles[handle], properties) KeyError: dbus.UInt32(2L) 1336377528.645824 ERROR dbus.connection: Exception in handler for D-Bus signal: Traceback (most recent call last): File /usr/lib/python2.7/site-packages/dbus/connection.py, line 214, in maybe_handle_message self._handler(*args, **kwargs) File /usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py, line 430, in __buddy_info_updated_cb self.emit('buddy-updated', self._buddy_handles[handle], properties) KeyError: dbus.UInt32(6L) 1336377528.647117 ERROR dbus.connection: Exception in handler for D-Bus signal: Traceback (most recent call last): File /usr/lib/python2.7/site-packages/dbus/connection.py, line 214, in maybe_handle_message self._handler(*args, **kwargs) File /usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py, line 430, in __buddy_info_updated_cb self.emit('buddy-updated', self._buddy_handles[handle], properties) KeyError: dbus.UInt32(11L) 1336377528.652646 ERROR dbus.connection: Exception in handler for D-Bus signal: Traceback (most recent call last): File /usr/lib/python2.7/site-packages/dbus/connection.py, line 214, in maybe_handle_message self._handler(*args, **kwargs) File /usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py, line 430, in __buddy_info_updated_cb self.emit('buddy-updated', self._buddy_handles[handle], properties) KeyError: dbus.UInt32(15L) 1336377528.653358 ERROR dbus.connection: Exception in handler for D-Bus signal: Traceback (most recent call last): File /usr/lib/python2.7/site-packages/dbus/connection.py, line 214, in maybe_handle_message self._handler(*args, **kwargs) File /usr/lib/python2.7/site-packages/jarabe/model/neighborhood.py, line 430, in __buddy_info_updated_cb self.emit('buddy-updated', self._buddy_handles[handle], properties) KeyError: dbus.UInt32(16L) 1336377528.658987 ERROR dbus.connection: Exception in handler for
Re: [Sugar-devel] [PATCH Sugar] Close audio device after text to speech - OLPC #11829
On 05/04/2012 11:34 PM, godi...@sugarlabs.org wrote: From: Gonzalo Odiardgodi...@gmail.com In xo with alsa, if we keep opened the audio device after doing tts, other activities can't use it. We need close the device after the eof message is received, because the message came a little before the sound has finished. That sounds suspicious to me. I looked at the documentation [1][2] and they seem to wait for the 'gst.MESSAGE_EOS' message in order to release the device 'set_state(gst.STATE_NULL)'. I did do a quick test and changed our code to behave the same and it seems to work: diff --git a/src/jarabe/model/speech.py b/src/jarabe/model/speech.py index ffc108c..5b5518e 100644 --- a/src/jarabe/model/speech.py +++ b/src/jarabe/model/speech.py @@ -169,11 +169,14 @@ class _GstSpeechPlayer(gobject.GObject): bus = self._pipeline.get_bus() bus.add_signal_watch() -bus.connect('message::element', self.__pipe_message_cb) +bus.connect('message', self.__pipe_message_cb) def __pipe_message_cb(self, bus, message): -if message.structure.get_name() == 'espeak-mark' and \ -message.structure['mark'] == 'end': +if message.type == gst.MESSAGE_EOS: +self._pipeline.set_state(gst.STATE_NULL) +self.emit('stop') +elif message.type == gst.MESSAGE_ERROR: +self._pipeline.set_state(gst.STATE_NULL) self.emit('stop') Regards, Simon [1] http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-helloworld.html#section-helloworld [2] http://pygstdocs.berlios.de/pygst-tutorial/playbin.html ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [Release] Clock-8
On Sat, May 05, 2012 at 05:01:01PM +0100, Gary Martin wrote: P.S. Unrelated to the above issue, gettext is missing from build 8, this will prevent activity developers using XO's to work with localised bundles (./setup.py build shows a spurious, unhelpful error message) unless they manually sudo yum install -y gettext (pulls in about ~5Mb). #11291 again? Should have been fixed in sugar-toolkit. -- James Cameron http://quozl.linux.org.au/ ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Installing sugar-jhbuild in F17
Hi Ajay, I didn't saw this error, and didn't installed any sugar package from the distro. Later installed sugar and sugar-emulator, without changes. Then, I tried sudo yum install sugar-emulator, and then launching the system-wide binary sugar-emulatory, it worked. So, two queries :: a) Is the above expected? Would the fact that I am using VirtualBox, and a guest image, makes any diffeerence? I don't know. b) When I launched system-wide sugar-emulator, I could not see any wifi-icons/adhoc-network-icons in the neighborhood-view (only buddies, logged onto jabber.sugarlabs.org). In my VBox settings, I have already set Network settings to Bridged Adapter - wlan0 (which happens to be the wireless device on F14 host machine). So, is this again due to the fact that I am using VirtualBox? I don't know any network icon when my computer is connected by wire, only when I start wifi, then, may be the device need be named wlan0 to be used. Gonzalo ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Unit testing an activity
Taylor Rose (RIT Student) tjr1...@rit.edu writes: Does anyone have advice about how to run unit tests for an activity? I am working on a video conferencing activity called Open Video Chathttps://github.com/FOSSRIT/Open-Video-chat. I'd like to be able to run some basic unit tests on the activity but I'm not sure how to instantiate an activity in a testing environment or if it's even possible. Can anyone offer advice or point me to an example? I'd like to be able to mock a connection and make sure the activity reacts properly, starting up gstreamer and such. While the test support infrastructure for Activities is in better shape than that for Sugar, it's mostly a set of general components, prototypes and hacks that you have to tape together yourself. Especially automated testing of shared Activities is going to hit some rather rough edges. If you're willing to dive in nonetheless and get it all working well, we'd appreciate you documenting the process so other Activity authors benefit From your effort. I'll describe the parts starting on the system layer. As you want to include Collaboration in your tests (which makes sense for Open Video Chat), you'll need two different systems. There are various hacks to test Sugar with just a single system, but we don't really know when they work and when they break, so I'd recommend sticking with two entirely separate systems for now. Start the test suite inside the Terminal activity on each system, distinguishing between them by passing an option (Initiator vs. someone joining the shared instance). That will bypass all the pitfalls of trying to remote control a Sugar session from a different system. The two systems can also be VMs on one physical host if they share a multicast-capable network connection (e.g. private network between the VMs or bridging to the physical network, but no NAT setup like the KVM user mode network stack). Synchronisation between the two instances happens naturally in your use case of testing Collaboration. The Python unit testing framework shipped with Python 3 and backported to Python 2.7 (as unittest2) is a natural choice for any Python based application. It includes support for skipping tests (e.g. for functionality that's not available in older versions of Sugar or for tests that are hardware-specific) and marking tests as being expected to fail, either always (e.g. for test-driven development, where you write the test first) or based on some condition (e.g. if some versions of Sugar contain a bug that causes the test to fail). There are hooks (TestCase.setUp() and TestCase.tearDown()) to run code before and after running each individual test to prepare the environment for the test (e.g. start resp. stop the Activity). If you need to run code before and after complete sets of tests (e.g. if you want to split up a sequence of steps into individual tests, keeping the Activity running between the tests), please contact me. I've already implemented this for several test suites and can show you how to use it. Launching the activity is where it gets tricky. The initiator side would be easy enough using sugar-launch, but it has no support for joining a shared activity. It'll also assign the activity_id randomly, so you'd either need to determine the activity_id on the joiner side by scanning for shared activities or control the Sugar platform UI (the Shell) by scanning for the shared activity icon in the Neighbourhood (using a special icon for the Activity running in test suite mode, so it doesn't try to connect to somebody else instead) and simulating a click. The third and probably best option is to tap into the semi-privates of Sugar, giving you more control of the Activity session creation process. Assign a fixed, hard-coded activity_id (use sugar.activity.activityfactory.create_activity_id() to generate it) so that the both sides know it. For the initiator side, set sugar.activity.activity.Activity._activity_id to the fixed activity_id and call Activity.share() on start-up. See below for how to tell your activity it should do this magic. For the joining side, copy the code of sugar-launch that you need to start you activity and enhance it to pass the activity_id to sugar-activity (CLI option -a). If you're going to do the tests on the code level (rather than on the UI level) you're almost set if you get all of the above working. You can phone in to your activity by setting an environment variable in your test suite when calling sugar-activity to tell your activity to enter test mode. There's a number of ways to remote control the activity if you want to the test code to run outside the activity, or you could set the environment variable to the name of the test you want to run and have the activity execute it. For tests on the UI level, we're entering less than firm ground again. You could try SugarBot [1-4]. Given the way it works [5], I have a feeling it would be a major effort to port SugarBot to GTK3. If you don't get
[Sugar-devel] [PATCH Log v3] Don't update search results every keystroke SL #2734
If the log file is long and we search for new results every time that a key is pressed this action could consume a lot of CPU. Even more if we search for a single char. So, I changed the way that it works to update the search results every time the user presses the Enter key or the _AUTOSEARCH_TIMEOUT expired like the Sugar's Home does. Signed-off-by: Manuel Kaufmann humi...@gmail.com --- logviewer.py | 32 +++- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/logviewer.py b/logviewer.py index 88fe2e6..7ba2178 100644 --- a/logviewer.py +++ b/logviewer.py @@ -41,6 +41,9 @@ from sugar.activity.widgets import CopyButton, StopButton from sugar.datastore import datastore +_AUTOSEARCH_TIMEOUT = 1000 + + # Should be builtin to sugar.graphics.alert.NotifyAlert... def _notify_response_cb(notify, response, activity): activity.remove_alert(notify) @@ -347,6 +350,8 @@ class LogActivity(activity.Activity): def __init__(self, handle): activity.Activity.__init__(self, handle) +self._autosearch_timer = None + # Paths to watch: ~/.sugar/someuser/logs, /var/log paths = [] paths.append(env.get_profile_path('logs')) @@ -383,15 +388,15 @@ class LogActivity(activity.Activity): wrap_btn.connect('clicked', self._wrap_cb) toolbar_box.toolbar.insert(wrap_btn, -1) -search_entry = iconentry.IconEntry() -search_entry.set_size_request(gtk.gdk.screen_width() / 3, -1) -search_entry.set_icon_from_name( +self.search_entry = iconentry.IconEntry() +self.search_entry.set_size_request(gtk.gdk.screen_width() / 3, -1) +self.search_entry.set_icon_from_name( iconentry.ICON_ENTRY_PRIMARY, 'system-search') -search_entry.add_clear_button() -search_entry.connect('activate', self._search_entry_activate_cb) -search_entry.connect('changed', self._search_entry_changed_cb) +self.search_entry.add_clear_button() +self.search_entry.connect('activate', self._search_entry_activate_cb) +self.search_entry.connect('changed', self._search_entry_changed_cb) search_item = gtk.ToolItem() -search_item.add(search_entry) +search_item.add(self.search_entry) toolbar_box.toolbar.insert(search_item, -1) self._search_prev = ToolButton('go-previous-paired') @@ -439,12 +444,21 @@ class LogActivity(activity.Activity): self.viewer._textview.set_wrap_mode(gtk.WRAP_NONE) def _search_entry_activate_cb(self, entry): +if self._autosearch_timer: +gobject.source_remove(self._autosearch_timer) self.viewer.set_search_text(entry.props.text) self._update_search_buttons() def _search_entry_changed_cb(self, entry): -self.viewer.set_search_text(entry.props.text) -self._update_search_buttons() +if self._autosearch_timer: +gobject.source_remove(self._autosearch_timer) +self._autosearch_timer = gobject.timeout_add(_AUTOSEARCH_TIMEOUT, +self.__autosearch_timer_cb) + +def __autosearch_timer_cb(self): +self._autosearch_timer = None +self.search_entry.activate() +return False def _search_prev_cb(self, button): self.viewer.search_next('backward') -- 1.7.10 ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [PATCH Sugar] Close audio device after text to speech - OLPC #11829
Ok, if we will use EOS message, we don't need add the end marl anymore. I think i had used this mark, because iin my previous test, didn't received the EOS signal at times, But now I tested it again and received the message, then I am ok with doing the change. A updated patch should be: diff --git a/src/jarabe/model/speech.py b/src/jarabe/model/speech.py index ffc108c..1cb0ad4 100644 --- a/src/jarabe/model/speech.py +++ b/src/jarabe/model/speech.py @@ -169,18 +169,20 @@ class _GstSpeechPlayer(gobject.GObject): bus = self._pipeline.get_bus() bus.add_signal_watch() -bus.connect('message::element', self.__pipe_message_cb) +bus.connect('message', self.__pipe_message_cb) def __pipe_message_cb(self, bus, message): -if message.structure.get_name() == 'espeak-mark' and \ -message.structure['mark'] == 'end': +if message.type == gst.MESSAGE_EOS: +self._pipeline.set_state(gst.STATE_NULL) +self.emit('stop') +elif message.type == gst.MESSAGE_ERROR: +self._pipeline.set_state(gst.STATE_NULL) self.emit('stop') def speak(self, pitch, rate, voice_name, text): # TODO workaround for http://bugs.sugarlabs.org/ticket/1801 if not [i for i in text if i.isalnum()]: return -text = text + 'mark name=end/mark' self.make_pipeline('espeak name=espeak ! autoaudiosink') src = self._pipeline.get_by_name('espeak') -- 1.7.10.1 ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [ASLO] Release Record-96
Activity Homepage: http://activities.sugarlabs.org/addon/4081 Sugar Platform: 0.96 - 0.96 Download Now: http://activities.sugarlabs.org/downloads/file/28024/record-96.xo Release notes: Sugar Labs Activities http://activities.sugarlabs.org ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] Did write to Journal anytime / kill modal naming dialog land in 0.96?
Hi folks, looking at recent builds (os8 on XO-1.75), I tried to demo the write to Journal anytime feature (and disappearance of the modal name-this-journal-entry dialog). I failed on both counts. Couldn't write metadata to the Journal... except when the modal dialog appeared :-( According to the wiki, the feature has landed -- http://wiki.sugarlabs.org/go/0.96/Feature_List -- but I could not make it work, no new icons in the activity toolbar. I tried the Write activity as that's pictured in the wikipage. Looking at the feature wikipae some more, I see that Activity specific metadata in Journal got deferred. Maybe both got deferred? cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- Software Architect - OLPC - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Did write to Journal anytime / kill modal naming dialog land in 0.96?
Please try it in os9 We first implemented it in gtk3 activities only, later backported it to gtk2 branch to have it available for all the activities. Gonzalo On Mon, May 7, 2012 at 4:50 PM, Martin Langhoff martin.langh...@gmail.comwrote: Hi folks, looking at recent builds (os8 on XO-1.75), I tried to demo the write to Journal anytime feature (and disappearance of the modal name-this-journal-entry dialog). I failed on both counts. Couldn't write metadata to the Journal... except when the modal dialog appeared :-( According to the wiki, the feature has landed -- http://wiki.sugarlabs.org/go/0.96/Feature_List -- but I could not make it work, no new icons in the activity toolbar. I tried the Write activity as that's pictured in the wikipage. Looking at the feature wikipae some more, I see that Activity specific metadata in Journal got deferred. Maybe both got deferred? cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- Software Architect - OLPC - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Did write to Journal anytime / kill modal naming dialog land in 0.96?
On Mon, May 7, 2012 at 4:00 PM, Gonzalo Odiard gonz...@laptop.org wrote: Please try it in os9 We first implemented it in gtk3 activities only, later backported it to gtk2 branch to have it available for all the activities. Oh, cool! Thanks! Does that mean that the modal dialog goes away? cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- Software Architect - OLPC - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Did write to Journal anytime / kill modal naming dialog land in 0.96?
2012/5/7 Martin Langhoff martin.langh...@gmail.com: On Mon, May 7, 2012 at 4:00 PM, Gonzalo Odiard gonz...@laptop.org wrote: Please try it in os9 We first implemented it in gtk3 activities only, later backported it to gtk2 branch to have it available for all the activities. Oh, cool! Thanks! Does that mean that the modal dialog goes away? Yes, both things, modal dialog out and Description icon in. Also we changed a bit the icon of the description, will be in os10 or via yum update sugar-artwork. cheers, m -- martin.langh...@gmail.com mar...@laptop.org -- Software Architect - OLPC - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel -- .. manuq .. ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Did write to Journal anytime / kill modal naming dialog land in 0.96?
On Mon, May 7, 2012 at 6:03 PM, Martin Langhoff martin.langh...@gmail.comwrote: On Mon, May 7, 2012 at 4:00 PM, Gonzalo Odiard gonz...@laptop.org wrote: Please try it in os9 We first implemented it in gtk3 activities only, later backported it to gtk2 branch to have it available for all the activities. Oh, cool! Thanks! Does that mean that the modal dialog goes away? Yes. Btw, this was influenced by the meeting with the Learning Team where we participated. They were very excited about these changes, and we decided push the change for all the activities. More communication, all the people is happy :) Gonzalo ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [ASLO] Release Moon-14
Activity Homepage: http://activities.sugarlabs.org/addon/4034 Sugar Platform: 0.82 - 0.96 Download Now: http://activities.sugarlabs.org/downloads/file/28025/moon-14.xo Release notes: - Updated to latest available translations - Added translation friendly string change to show current date information SL#2749 - Removal of some unwanted string newline padding to prevent unnecessary view scrolling Sugar Labs Activities http://activities.sugarlabs.org ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [ASLO] Release Record-96
On Mon, May 7, 2012 at 4:18 PM, Sugar Labs Activities activit...@sugarlabs.org wrote: Release notes: What are the improvements of this release? -- Kaufmann Manuel Blog: http://humitos.wordpress.com/ Porfolio: http://fotos.mkaufmann.com.ar/ PyAr: http://www.python.com.ar/ ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [Release] Moon-14
== Bundle == http://activities.sugarlabs.org/en-US/sugar/downloads/file/28025/moon-14.xo == Source == http://download.sugarlabs.org/sources/honey/Moon/Moon-14.tar.bz2 == News == - Updated to latest available translations - Added translation friendly string change to show current date information SL#2749 - Removal of some unwanted string newline padding to prevent unnecessary view scrolling ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [PATCH Log v3] Don't update search results every keystroke SL #2734
Reviewed-by: James Cameron qu...@laptop.org -- James Cameron http://quozl.linux.org.au/ ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [ASLO] Release Calculate-40
Activity Homepage: http://activities.sugarlabs.org/addon/4076 Sugar Platform: 0.82 - 0.96 Download Now: http://activities.sugarlabs.org/downloads/file/28026/calculate-40.xo Release notes: - Updated to latest available translations Sugar Labs Activities http://activities.sugarlabs.org ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel