[Sugar-devel] [ASLO] Release Sudoku-9
Activity Homepage: http://activities.sugarlabs.org/addon/4403 Sugar Platform: 0.82 - 0.90 Download Now: http://activities.sugarlabs.org/downloads/file/27221/sudoku-9.xo Release notes: Each tile is placed so that it is alone in its row, column and coloured square. Always there is at least one tile that can be placed with certainty - no trial and error is required. 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] [ASLO] Release Scratch-18
Activity Homepage: http://activities.sugarlabs.org/addon/4249 Sugar Platform: 0.82 - 0.90 Download Now: http://activities.sugarlabs.org/downloads/file/27222/scratch-18.xo Release notes: Fixing #2581 (bugs.sugarlabs.org) 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] Tests of applications on booted Trisquel 4.1 sugar installed to a 8Gb USB
I attach a spreadsheet: Tests of applications on booted Trisquel 4.1 sugar installed to a 8Gb USB Test of Trisquel 4.1 sugar Applications.ods Tom Gilliard satellit on #sugar IRC freenode Test of Trisquel 4.1 sugar Applications.ods Description: application/vnd.oasis.opendocument.spreadsheet ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [PATCH sugar v2] use ConsoleKit instead of HAL for shutdown/reboot
Excerpts from Sascha Silbe's message of Sat Jan 22 13:34:28 +0100 2011: > HAL is dead, ConsoleKit now handles shutdown / reboot. Ack'ed by Simon on #sugar and pushed with a slightly extended description as fd15e61 [1]. CanRestart and CanStop support would require UI changes (tracked as part of #2628 [2] now). Sascha [1] http://git.sugarlabs.org/sugar/mainline/commit/fd15e619f3c95bf0b1ded1dde899a56e87a92576 [2] https://bugs.sugarlabs.org/ticket/2628 -- http://sascha.silbe.org/ http://www.infra-silbe.de/ signature.asc Description: PGP signature ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [PATCH] fix recognition of JEBs outside of data store
Excerpts from Sascha Silbe's message of Sun Jul 04 23:08:06 +0200 2010: > Add a MIME type definition for Journal Entry Bundles (JEBs) so they get > detected properly if encountered outside of the data store. Ack'ed by Simon on #sugar and pushed as 6ba79fc [1]. Sascha [1] http://git.sugarlabs.org/sugar/mainline/commit/6ba79fcd6ca69c782d9df1f0d6ce8f70b7be202d -- http://sascha.silbe.org/ http://www.infra-silbe.de/ signature.asc Description: PGP signature ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [PATCH sugar] Adjust the year in the license visible in the control panel
On 02/17/2011 04:05 PM, Simon Schampijer wrote: --- extensions/cpsection/aboutcomputer/view.py |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/extensions/cpsection/aboutcomputer/view.py b/extensions/cpsection/aboutcomputer/view.py index 7892577..e5f2f32 100644 --- a/extensions/cpsection/aboutcomputer/view.py +++ b/extensions/cpsection/aboutcomputer/view.py @@ -175,7 +175,7 @@ class AboutComputer(SectionView): vbox_copyright.set_border_width(style.DEFAULT_SPACING * 2) vbox_copyright.set_spacing(style.DEFAULT_SPACING) -copyright_text = '© 2006-2010 One Laptop per Child Association Inc,' \ +copyright_text = '© 2006-2011 One Laptop per Child Association Inc,' \ ' Sugar Labs Inc, Red Hat Inc, Collabora Ltd and' \ ' Contributors.' label_copyright = gtk.Label(copyright_text) Ack'ed by Sascha on #sugar and pushed as d6069dd8e4344a614e4bc476b71bfe122d015ef5 Regards, Simon ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [PATCH 1/2] shell: handle activities that cycle through windows dlo#10695
Pushed as dc8f6ed7852f919fe7123d458706fb82430257e9 Sascha gave his formal bless, too. Regards, Simon ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [PATCH sugar] Restore setting a language with the command line OLPC #10681
Move the code that handles the list given by the view to a separate function to make it clearer. --- extensions/cpsection/language/model.py | 48 --- extensions/cpsection/language/view.py |2 +- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/extensions/cpsection/language/model.py b/extensions/cpsection/language/model.py index 48bb496..c9a4cc8 100644 --- a/extensions/cpsection/language/model.py +++ b/extensions/cpsection/language/model.py @@ -67,9 +67,7 @@ def _initialize(): lang[1].replace(' ', '_')) -def _write_i18n(langs): -colon = ':' -langstr = colon.join(langs) +def _write_i18n(lang_env, language_env): path = os.path.join(os.environ.get('HOME'), '.i18n') if not os.access(path, os.W_OK): print _standard_msg @@ -79,8 +77,8 @@ def _write_i18n(langs): fd.close() else: fd = open(path, 'w') -fd.write('LANG="%s"\n' % langs[0].strip("\n")) -fd.write('LANGUAGE="%s"\n' % langstr) +fd.write('LANG="%s"\n' % lang_env) +fd.write('LANGUAGE="%s"\n' % language_env) fd.close() @@ -132,26 +130,30 @@ def print_languages(): def set_languages(languages): -"""Set the system language. -languages : +"""Set the system language using the Country/Language format or +specify the utf8 code directly """ -if isinstance(languages, str): -# This came from the commandline -#TODO: Support multiple languages from the command line -if languages.endswith('utf8'): -_write_i18n(languages) -return 1 -else: -langs = read_all_languages() -for lang, territory, locale in langs: -code = lang.replace(' ', '_') + '/' \ -+ territory.replace(' ', '_') -if code == languages: -_write_i18n(locale) -return 1 -print (_("Sorry I do not speak \'%s\'.") % languages) + +if languages.endswith('utf8'): +set_languages_list([languages]) +return 1 else: -_write_i18n(languages) +langs = read_all_languages() +for lang, territory, locale in langs: +code = lang.replace(' ', '_') + '/' \ ++ territory.replace(' ', '_') +if code == languages: +set_languages_list([locale]) +return 1 +print (_("Sorry I do not speak \'%s\'.") % languages) + + +def set_languages_list(languages): +"""Set the system language using a list of preferred languages""" +colon = ':' +language_env = colon.join(languages) +lang_env = languages[0].strip('\n') +_write_i18n(lang_env, language_env) # inilialize the docstrings for the language diff --git a/extensions/cpsection/language/view.py b/extensions/cpsection/language/view.py index c58b334..1553959 100644 --- a/extensions/cpsection/language/view.py +++ b/extensions/cpsection/language/view.py @@ -273,7 +273,7 @@ class Language(SectionView): def __lang_timeout_cb(self, codes): self._lang_sid = 0 -self._model.set_languages(codes) +self._model.set_languages_list(codes) self.restart_alerts.append('lang') self.needs_restart = True self._lang_alert.props.msg = self.restart_msg -- 1.7.4 ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [PATCH] Window: allow removing the toolbar_box
Excerpts from Sascha Silbe's message of Sun Jul 04 22:34:14 +0200 2010: > Allow the toolbar_box to be removed by setting it to None, like is supported > for canvas. Ack'ed by Simon on #sugar and pushed as 17537c7 [1]. Sascha [1] http://git.sugarlabs.org/sugar-toolkit/mainline/commit/17537c77100fab5e801a19d4b0b3d8bff3f72cbb -- http://sascha.silbe.org/ http://www.infra-silbe.de/ signature.asc Description: PGP signature ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [PATCH sugar] Adjust the year in the licence visible in the control panel
--- extensions/cpsection/aboutcomputer/view.py |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/extensions/cpsection/aboutcomputer/view.py b/extensions/cpsection/aboutcomputer/view.py index 7892577..e5f2f32 100644 --- a/extensions/cpsection/aboutcomputer/view.py +++ b/extensions/cpsection/aboutcomputer/view.py @@ -175,7 +175,7 @@ class AboutComputer(SectionView): vbox_copyright.set_border_width(style.DEFAULT_SPACING * 2) vbox_copyright.set_spacing(style.DEFAULT_SPACING) -copyright_text = '?? 2006-2010 One Laptop per Child Association Inc,' \ +copyright_text = '?? 2006-2011 One Laptop per Child Association Inc,' \ ' Sugar Labs Inc, Red Hat Inc, Collabora Ltd and' \ ' Contributors.' label_copyright = gtk.Label(copyright_text) -- 1.7.4 ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [PATCH 1/2] shell: handle activities that cycle through windows dlo#10695
On 02/17/2011 01:21 PM, Martin Langhoff wrote: On Wed, Feb 16, 2011 at 12:54 PM, Simon Schampijer wrote: the general approach - just a few small comments inline. Thanks! There's a patch in reply, and a few comments from me here... +def remove_window_by_xid(self, xid): +"""Remove a window from the windows stack.""" +for wnd in self._windows: +if wnd.get_xid() == xid: +# must break after changing array I think this comment can go away. The code itself should be clear enough. Sugar developers are smarter than I expect then :-) My concern is about someone "expanding" the code inside the loop, and getting bitten by my doing something that is not quite kosher. I think this code is ok without the comment :) Actually there is another occasion of the same code that has no comment - if we think it is necessary we should have it in both. @@ -510,11 +529,12 @@ class ShellModel(gobject.GObject): home_activity = Activity(activity_info, activity_id, window) self._add_activity(home_activity) else: -home_activity.set_window(window) +logging.debug('setting new window for existing activity') +home_activity.add_window(window) This code gets called for each window including the launcher. To make that clear maybe you can come up with another message. I tried to make things clearer with a comment block for the function, and more explicit debug lines. HTH. Yes, looks good now. logging.debug('%s launched in %f seconds.', home_activity.get_type(), startup_time) With the current logic the debug log does not log what we expect, Here is where we were crashing in race conditions :-/ Anyway, I had that as a separate patch (posted together w this one). Now I've merged this change in the patch too. Thanks - looks good now. Regards, Simon ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [PATCH] Restore setting a language with the command line OLPC #10681
When allowing multiples language to be set we broke the support to set a language by a command line command. This patch does revert that functionality. --- extensions/cpsection/language/model.py | 17 + 1 files changed, 9 insertions(+), 8 deletions(-) diff --git a/extensions/cpsection/language/model.py b/extensions/cpsection/language/model.py index 48bb496..ab1e25a 100644 --- a/extensions/cpsection/language/model.py +++ b/extensions/cpsection/language/model.py @@ -67,9 +67,7 @@ def _initialize(): lang[1].replace(' ', '_')) -def _write_i18n(langs): -colon = ':' -langstr = colon.join(langs) +def _write_i18n(lang_env, language_env): path = os.path.join(os.environ.get('HOME'), '.i18n') if not os.access(path, os.W_OK): print _standard_msg @@ -79,8 +77,8 @@ def _write_i18n(langs): fd.close() else: fd = open(path, 'w') -fd.write('LANG="%s"\n' % langs[0].strip("\n")) -fd.write('LANGUAGE="%s"\n' % langstr) +fd.write('LANG="%s"\n' % lang_env) +fd.write('LANGUAGE="%s"\n' % language_env) fd.close() @@ -139,7 +137,7 @@ def set_languages(languages): # This came from the commandline #TODO: Support multiple languages from the command line if languages.endswith('utf8'): -_write_i18n(languages) +_write_i18n(languages, languages) return 1 else: langs = read_all_languages() @@ -147,11 +145,14 @@ def set_languages(languages): code = lang.replace(' ', '_') + '/' \ + territory.replace(' ', '_') if code == languages: -_write_i18n(locale) +_write_i18n(locale, locale) return 1 print (_("Sorry I do not speak \'%s\'.") % languages) else: -_write_i18n(languages) +colon = ':' +language_env = colon.join(languages) +lang_env = languages[0].strip('\n') +_write_i18n(lang_env, language_env) # inilialize the docstrings for the language -- 1.7.4 ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] Design Team meeting, Sunday 20th 16:00 UTC, #sugar-meeting
Hi Folks, Just a reminder for the follow-up Design Team #sugar-meeting this Sunday 20th 16:00 UTC: http://wiki.sugarlabs.org/go/Design_Team/Meetings This one could be a little more bumpy than last weeks, with less #agree due to the more controversial edge, depth/impact, and longer time scale to the topics. Still, good to make a dent in some of these and get more feedback. See you there, --Gary ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] [PATCH] shell: handle activities that cycle through windows dlo#10695
From: Martin Langhoff Now activities have a stack of windows (Activity._windows). The lowest still-valid window in the stack is considered the main window. When a window is closed, the shell finds what activity had that window, tells it to remove it from its stack. If that was the last window in the activities' stack, the activity is marked as closed. With this patch, activities can switch from one window to another safely, without sugar shell losing track of them. Activities based on AdobeAIR have been seen to switch windows (perhaps when they navigate from one SWF to another). This replaces the one-window = one-activity model, where the moment an activity closed one window (perhaps one of many) it was considered closed by the shell. --- Reworked based on Simon's review -- m --- src/jarabe/model/shell.py | 107 ++--- 1 files changed, 71 insertions(+), 36 deletions(-) diff --git a/src/jarabe/model/shell.py b/src/jarabe/model/shell.py index 661e370..63f6173 100644 --- a/src/jarabe/model/shell.py +++ b/src/jarabe/model/shell.py @@ -62,11 +62,12 @@ class Activity(gobject.GObject): the "type" of activity being created. activity_id -- unique identifier for this instance of the activity type -window -- Main WnckWindow of the activity +_windows -- WnckWindows registered for the activity. The lowest +one in the stack is the main window. """ gobject.GObject.__init__(self) -self._window = None +self._windows = [] self._service = None self._activity_id = activity_id self._activity_info = activity_info @@ -74,7 +75,7 @@ class Activity(gobject.GObject): self._launch_status = Activity.LAUNCHING if window is not None: -self.set_window(window) +self.add_window(window) self._retrieve_service() @@ -96,15 +97,19 @@ class Activity(gobject.GObject): launch_status = gobject.property(getter=get_launch_status) -def set_window(self, window): -"""Set the window for the activity - -We allow resetting the window for an activity so that we -can replace the launcher once we get its real window. -""" +def add_window(self, window): +"""Add a window to the windows stack.""" if not window: raise ValueError('window must be valid') -self._window = window +self._windows.append(window) + +def remove_window_by_xid(self, xid): +"""Remove a window from the windows stack.""" +for wnd in self._windows: +if wnd.get_xid() == xid: +self._windows.remove(wnd) +return True +return False def get_service(self): """Get the activity service @@ -118,8 +123,8 @@ class Activity(gobject.GObject): def get_title(self): """Retrieve the application's root window's suggested title""" -if self._window: -return self._window.get_name() +if self._windows: +return self._windows[0].get_name() else: return '' @@ -171,31 +176,44 @@ class Activity(gobject.GObject): def get_xid(self): """Retrieve the X-windows ID of our root window""" -if self._window is not None: -return self._window.get_xid() +if self._windows: +return self._windows[0].get_xid() else: return None +def has_xid(self, xid): +"""Check if an X-window with the given xid is in the windows stack""" +if self._windows: +for wnd in self._windows: +if wnd.get_xid() == xid: +return True +return False + def get_window(self): """Retrieve the X-windows root window of this application -This was stored by the set_window method, which was +This was stored by the add_window method, which was called by HomeModel._add_activity, which was called via a callback that looks for all 'window-opened' events. +We keep a stack of the windows. The lowest window in the +stack that is still valid we consider the main one. + HomeModel currently uses a dbus service query on the activity to determine to which HomeActivity the newly launched window belongs. """ -return self._window + if self._windows: +return self._windows[0] +return None def get_type(self): """Retrieve the activity bundle id for future reference""" -if self._window is None: +if not self._windows: return None else: -return wm.get_bundle_id(self._window) +return wm.get_bundle_id(self._windows[0]) def is_journal(self): """Returns boolean if the activity is of type JournalActivity""" @@ -211,7 +229,
Re: [Sugar-devel] [PATCH 1/2] shell: handle activities that cycle through windows dlo#10695
On Wed, Feb 16, 2011 at 12:54 PM, Simon Schampijer wrote: > the general approach - just a few small comments inline. Thanks! There's a patch in reply, and a few comments from me here... >> + def remove_window_by_xid(self, xid): >> + """Remove a window from the windows stack.""" >> + for wnd in self._windows: >> + if wnd.get_xid() == xid: >> + # must break after changing array > > I think this comment can go away. The code itself should be clear enough. Sugar developers are smarter than I expect then :-) My concern is about someone "expanding" the code inside the loop, and getting bitten by my doing something that is not quite kosher. >> @@ -510,11 +529,12 @@ class ShellModel(gobject.GObject): >> home_activity = Activity(activity_info, activity_id, >> window) >> self._add_activity(home_activity) >> else: >> - home_activity.set_window(window) >> + logging.debug('setting new window for existing activity') >> + home_activity.add_window(window) > > This code gets called for each window including the launcher. To make that > clear maybe you can come up with another message. I tried to make things clearer with a comment block for the function, and more explicit debug lines. HTH. >> logging.debug('%s launched in %f seconds.', >> home_activity.get_type(), startup_time) > > With the current logic the debug log does not log what we expect, Here is where we were crashing in race conditions :-/ Anyway, I had that as a separate patch (posted together w this one). Now I've merged this change in the patch too. 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] [Fwd: Help with bundling a virtual machine and a Sugar .iso]
Bastien; I am forwarding your e-mail to people who will be better to answer your questions. Thank you for your interest. (see notes below) Tom Gilliard Dear Thomas, Thomas C Gilliard writes: > Thanks go to quidam and alsroot for this nice new sugar. This is great news! I'm looking forward testing it soon. May I ask you some advice on quite another topic? We (OLPC France) are working on a new activity to let children build stories -- something along CartoonBuilder, but slightly more flexible. This is a request from a foundation in France who wants to deploy this activity in several schools by the end of April. We found a Sugar developer, and the foundation is paying him to code the activity. You can check for preliminary code on a.sl.o: http://git.sugarlabs.org/atoidepoc There is one aspect of the project we have to deal with and where I think your advice will be priceless: how to let anyone run this activity on _any_ computer? (Image old computers in primary schools.) We proposed two solutions: a virtual machine + .iso, and SOAS. Does the triskel .iso is the best .iso we can VM? Which WM? Is it possible to bundle the VM and the .iso in one single .exe and .dmg so that users don't have to take care of installing anything? I just discovered that the Trisquel 4.1sugar.iso (as a Burned CD) boots on a MacBook Air but it does not display correctly. (Hold down the "C" key on power on until the boot screen is shown) It may need a proper xdriver=vesa driver. This needs to be investigated farther. VirtualBox is agnostic to most OS and Hardware. (Except for Power PC Mac.s) Yes the VM files; trisquel-sugar_4.1_i686.iso (and the VirtualBox installers in a subdirectory) can be burned onto a DVD if needed. I do not think the .dmg is presently achievable. Others will know a lot more than I do on this topic. If we can get the CD to Boot on an intel MAC properly , we would have a universal CD which could be built with your atoidepoc application installed on it. Trisquel has several features: http://wiki.sugarlabs.org/go/Trisquel_On_A_Sugar_Toast#Live_CD_persistence http://wiki.sugarlabs.org/go/Trisquel_On_A_Sugar_Toast#USB_load_helper That we can investigate further. I guess you get the spirit of the problem: we need to make it extra smooth for the users... Any advice much appreciated. Also, I'll have the details of the available budget from this foundation next week, and chances are that we will need someone taking care of packaging this activity. Is it something you would be interested in? I copy Sean who knows this problems better than I do, and who's been involved in this (great) project since the beginning. Thanks a lot! Looking forward to reading you, -- Bastien ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [PATCH] localization support for GNOME version
On Thu, Feb 17, 2011 at 11:03 AM, Claudio Carboncini wrote: > Hi, > > 2011/2/16 Erik Blankinship >> >> > 2. sugar.activity.main.main() handles locale and gettext() setup for >> > Sugar activities. If you don't use it (because it probably won't >> > work outside of Sugar) you'll have to take care of initialisation >> > yourself. >> >> This might be helpful? >> >> If you are trying to run turtleart in gnome in your locale, try adding >> this bit of code to the top of turtleart.py: >> >> import gettext >> gettext.bindtextdomain( "org.laptop.TurtleArtActivity", "locale" ) >> gettext.textdomain( "org.laptop.TurtleArtActivity" ) >> ___ >> Sugar-devel mailing list >> Sugar-devel@lists.sugarlabs.org >> http://lists.sugarlabs.org/listinfo/sugar-devel > > I wrote to the list about localization in italian of turtle art outside of > Sugar. > Adding lines of code that you propose, now everything works perfectly > Thanks > claudio > -- > claudio.carbonc...@gmail.com > "most of skolelinux server admins are not IT professionals" > Registered Linux User #477065 > Glad to hear that it works. This is already incorporated in v106, which will be the next release. -walter -- Walter Bender Sugar Labs http://www.sugarlabs.org ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [PATCH] localization support for GNOME version
Hi, 2011/2/16 Erik Blankinship > > 2. sugar.activity.main.main() handles locale and gettext() setup for > > Sugar activities. If you don't use it (because it probably won't > > work outside of Sugar) you'll have to take care of initialisation > > yourself. > > This might be helpful? > > If you are trying to run turtleart in gnome in your locale, try adding > this bit of code to the top of turtleart.py: > > import gettext > gettext.bindtextdomain( "org.laptop.TurtleArtActivity", "locale" ) > gettext.textdomain( "org.laptop.TurtleArtActivity" ) > ___ > Sugar-devel mailing list > Sugar-devel@lists.sugarlabs.org > http://lists.sugarlabs.org/listinfo/sugar-devel > I wrote to the list about localization in italian of turtle art outside of Sugar. Adding lines of code that you propose, now everything works perfectly Thanks claudio -- claudio.carbonc...@gmail.com "most of skolelinux server admins are not IT professionals" Registered Linux User #477065 ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [ASLO] Release Read-88
On Tue, Feb 15, 2011 at 6:45 PM, Sugar Labs Activities wrote: > Activity Homepage: > http://activities.sugarlabs.org/addon/4028 > > Sugar Platform: > 0.90 - 0.90 > > Download Now: > http://activities.sugarlabs.org/downloads/file/27218/read-88.xo > > Release notes: > Restore epub files support. Tar file here please http://download.sugarlabs.org/sources/sucrose/fructose/Read/ Peter ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] Announcing trisquel-sugar_4.1_i686.iso a new build with sweets sugar 0.88.1 and a Virtual Box 4 appliance
Thanks go to quidam and alsroot for this nice new sugar. Please help test. (This is a beta) http://devel.trisquel.info/sugar/trisquel-sugar_4.1_i686.iso http://wiki.sugarlabs.org/go/Emulator_image_files#Trisquel-4-sugar http://wiki.sugarlabs.org/go/Trisquel_On_A_Sugar_Toast Tom Gilliard satellit #sugar IRC freenode ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel