Mark DeMayo | 1 Feb 02:08
Picon

Blocku Update!

Hi! This is an update on what the Blocku team has been up to. We have started to code the project. We are using Pygame as a coding platform. We plan to make this activity so it can run on any computer. It will only have enough Sugar on it to run on the XOs. Our Wiki page has been updated. Two new additions have been an open IRC channel, #blocku, at irc.freenode.net and a git repository has been started. We think it would be great if you could look over the changes we have made and give any critiques you can.

We think it would be great if you could leave any critiques or suggestions you may have about Blocku on the wiki page instead of replying to this email.

As always Thanks from the Blocku team

 - Blocku Development Team

 If you have any questions or no one is on the IRC channel then contact me and I will hopefully be able to answer them. Also contact me if anyone would like access to our git repository.

_______________________________________________
Sugar-devel mailing list
Sugar-devel <at> lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel
Mark DeMayo | 1 Feb 02:46
Picon

Blocku Wiki/Git links

Here are the links for the Git and Wiki page for the Blocku team.

Wiki page

http://wiki.sugarlabs.org/go/Blocku

Git page

http://git.sugarlabs.org/projects/blocku


- Blocku Development Team

_______________________________________________
Sugar-devel mailing list
Sugar-devel <at> lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel
Simon Schampijer | 1 Feb 19:08
Picon

[ANNOUNCE] Feature Status

Hi,

today is Feature Freeze [1]! Here is a status on the pending features [2]:

*** 3G Support
The 3G Feature has been landed. Some improvements for this Feature are 
pending.

*** Enhanced color selector
The enhanced color selector has seen some design iterations over the 
last two weeks. A decision needs to be made which design is picked and 
the code needs to be reviewed. We have to work together closely now to 
land this.

*** Write to journal anytime
No patch has been made to try the behavior to display the Journal when 
closing for the first time. This looks rather unlikely to land.

*** Font configuration
We have a design, but no patch for the Control Panel section, yet.

*** Thumbs View in Journal
We have some code. It has to be reviewed intensely though as it is quite 
a big refactoring and is based on a new widget (shell scope). Would be 
nice to land it though.

*** Activity version
No patch yet. There was agreement on the format though. Unlikely to make it.

We will not delay the Feature Freeze and stick to the schedule. If your 
Feature did not land yet, you can ask for an exception [3]. To request 
an exception send mail to sugar-devel <at> lists.sugarlabs.org, referencing 
the patches (ticket) you would like to land. It will have to be granted 
by two members of the release team (Tomeu and Simon), on the base of 
community feedback.

We will delay the tarballs due to be able to focus on reviews.

Regards,
    Simon

[1] http://wiki.sugarlabs.org/go/0.88/Roadmap#Schedule
[2] http://wiki.sugarlabs.org/go/0.88/Feature_List
[3] http://wiki.sugarlabs.org/go/Development_Team/Release#Feature_freeze
Aleksey Lim | 1 Feb 20:13
Picon

Re: [ANNOUNCE] Feature Status

On Mon, Feb 01, 2010 at 07:08:29PM +0100, Simon Schampijer wrote:
> Hi,
> 
> today is Feature Freeze [1]! Here is a status on the pending features [2]:
> 
> *** Thumbs View in Journal
> We have some code. It has to be reviewed intensely though as it is quite 
> a big refactoring and is based on a new widget (shell scope). Would be 
> nice to land it though.

Heh, I'm afraid it's impossible to see thumbs in journal for 0.88
because it's not "Thumbs View in Journal" but reimplemented
journal(not only for thumbs but since gtk.TreeView really sucks in case
of sugar journal workflows).

I'm going to change my workflow and code such big features as separate
projects and if core team decided it's really worth having this
in core it could added to glucose.

I hope to see new journal as a separate activity and as a default
journal in Saccharin in two weeks.

--

-- 
Aleksey
Art Hunkins | 1 Feb 20:16
Favicon

Pushing v2 of an activity to gitorious

I'd like to push version 2 of my activities to gitorious, but have been 
unable to. Gary pushed version 1 for me (thanks, Gary).
My two repositories are our-music and our-music-mc.

I'm unable to locate instructions, and would appreciate either a detailed 
list of what to do, or pointing out such a list to me.

Please note that my repositories are at sugarlabs only, not at laptop.org - 
so I don't need cloning directions (IIUC). Also, it seems that I need to 
push my private ssh key as well (I have one). So I also need instructions 
for that.

TIA,

Art Hunkins 
Behavior Vehikel | 1 Feb 20:58

How to start the Browse activity from my own activity?

How to start the Browse activity from my own activity?

My Kandid activity can dump internal states as a HTML files. For
example this information is written to
~/.sugar/default/net.sourceforge.kandid/tmp/_znuaxz_169/index.html

Now I am searching for a possibility to launch the Brows activity
displaying this HTML file.
First I tried using  the webbrowser.open() method from Python. But no
effect when running under SoaS release 2 (Bluberry) Sugar 0.86.3

def on_explain_activate(self, *args):
    ka_debug.info('on_explain_activate [%s]' % args[0].get_name())
    protozoon = self.model.protozoans[name_to_index(args[0].get_name())]
    folder = os.path.join(self._activity_root, 'tmp')
    file_path = 'file://' + self.explain('html', protozoon, 'index', folder)
    #Start up a new instance of the Web activity.
    result = webbrowser.open(file_path)
    ka_debug.info('webbrowser.open: [%s] %s' % (file_path, str(result)))

My second try and error version is using the
activityfactory.create_with_uri() method.
But it will produce an exception when running with SoaS Bluberry.

def on_explain_activate(self, *args):
    ka_debug.info('on_explain_activate [%s]' % args[0].get_name())
    protozoon = self.model.protozoans[name_to_index(args[0].get_name())]
    folder = os.path.join(self._activity_root, 'tmp')
    file_path = 'file://' + self.explain('html', protozoon, 'index', folder)
    #Start up a new instance of the Web activity.
     ka_debug.info('webbrowser.open: [%s]' % (file_path))
     activityfactory.create_with_uri('org.laptop.WebActivity', file_path)

1265051065.540251 DEBUG Kandid: on_explain_activate [exportpng_menuitem_2]

1265051069.314681 DEBUG Kandid: webbrowser.open:
[file:///home/liveuser/.sugar/default/net.sourceforge.kandid/tmp/_xjwwqo_43/index.html]

Traceback (most recent call last):

  File "/home/liveuser/Activities/Kandid.activity/ka_controller.py",
line 340, in on_explain_activate

    activityfactory.create_with_uri('org.laptop.WebActivity', file_path)

  File "/usr/lib/python2.6/site-packages/sugar/activity/activityfactory.py",
line 332, in create_with_uri

    return ActivityCreationHandler(bundle, activity_handle)

  File "/usr/lib/python2.6/site-packages/sugar/activity/activityfactory.py",
line 206, in __init__

    self._service_name = bundle.get_bundle_id()

AttributeError: 'str' object has no attribute 'get_bundle_id'

1265051112.422281 DEBUG Kandid: write_file
[/home/liveuser/.sugar/default/net.sourceforge.kandid/instance/1265051112]

How can I start a browser to display a HTML page? Please add more
information to http://wiki.sugarlabs.org/go/Development_Team/Almanac/sugar.activity.activityfactory

Thanks, Thomas
Daniel Drake | 1 Feb 21:12
Favicon

Copy from paint broken with Rainbow

Hi,

There is a Sugar-0.82 regression in that you can't copy a selection
from paint to the clipboard (using Paint's copy button). Reproduced on
OLPC OS 8.2 with Paint-23.
Disabling Rainbow solves the issue.

At the point of failure, a broken icon is created in Sugar's clipboard
tray and this appears in shell.log
---------------------------------------------------------------------------
DBusException                             Traceback (most recent call last)

/usr/share/sugar/shell/view/frame/clipboardpanelwindow.py in
_owner_change_cb(self=<ClipboardPanelWindow object at 0x8748e64
(SugarFrameWindow at 0x87b8588)>, clipboard=<gtk.Clipboard object at
0x8748fcc (GtkClipboard at 0x89c1a50)>, event=<GdkEvent at 0x8a220b0>)
     69                 self._add_selection(key, selection)
     70
---> 71         cb_service.set_object_percent(key, percent=100)
        cb_service.set_object_percent = <bound method
ClipboardService.set_object_percent of <ClipboardService object at
0x874b57c (sugar+clipboard+clipboardservice+ClipboardService at
0x87d3660)>>
        key = '/org/laptop/Clipboard/Objects/1'
        global percent = undefined
     72
     73     def _add_selection(self, key, selection):

/usr/lib/python2.5/site-packages/sugar/clipboard/clipboardservice.py
in set_object_percent(self=<ClipboardService object at 0x874b57c
(sugar+cli...+clipboardservice+ClipboardService at 0x87d3660)>,
object_id='/org/laptop/Clipboard/Objects/1', percent=100)
    185         """
    186         self._dbus_service.set_object_percent(
--> 187                                 dbus.ObjectPath(object_id), percent)
        global dbus.ObjectPath = <type 'dbus.ObjectPath'>
        object_id = '/org/laptop/Clipboard/Objects/1'
        percent = 100
    188
    189     def get_object(self, object_id):

/usr/lib/python2.5/site-packages/dbus/proxies.py in
__call__(self=<dbus.proxies._ProxyMethod instance at 0x90cc38c>,
*args=(dbus.ObjectPath('/org/laptop/Clipboard/Objects/1'), 100),
**keywords={})
    138                                                   introspect_sig,
    139                                                   args,
--> 140                                                   **keywords)
        keywords = {}
    141
    142     def call_async(self, *args, **keywords):

/usr/lib/python2.5/site-packages/dbus/connection.py in
call_blocking(self=<dbus._dbus.SessionBus (session) at 0x86f6bfc>,
bus_name='org.laptop.Clipboard', object_path='/org/laptop/Clipboard',
dbus_interface='org.laptop.Clipboard', method='set_object_percent',
signature=u'oi',
args=(dbus.ObjectPath('/org/laptop/Clipboard/Objects/1'), 100),
timeout=-1.0, utf8_strings=False, byte_arrays=False)
    628         # make a blocking call
    629         reply_message = self.send_message_with_reply_and_block(
--> 630             message, timeout)
        message = <dbus.lowlevel.MethodCallMessage object at 0x8aa2d70>
        timeout = -1.0
    631         args_list = reply_message.get_args_list(**get_args_opts)
    632         if len(args_list) == 0:

DBusException: org.freedesktop.DBus.Python.IOError: Traceback (most
recent call last):
  File "/usr/lib/python2.5/site-packages/dbus/service.py", line 702,
in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File "/usr/share/sugar/service/clipboardservice.py", line 123, in
set_object_percent
    new_uri = self._copy_file(format.get_data())
  File "/usr/share/sugar/service/clipboardservice.py", line 201, in _copy_file
    shutil.copyfile(uri.path, new_file_path)
  File "/usr/lib/python2.5/shutil.py", line 46, in copyfile
    fsrc = open(src, 'rb')
IOError: [Errno 13] Permission denied:
'/home/olpc/isolation/1/uid_to_home_dir/10000/instance/tmpwL_h6t.png'

Could someone running a more recent Sugar with rainbow setup please
test to see if this regression still exists?
cheers
Daniel
Albert Cahalan | 1 Feb 21:31
Picon

Re: [DESIGN] Control Panel Font configuration

On Sat, Jan 30, 2010 at 2:50 PM, C. Scott Ananian <cscott <at> cscott.net> wrote:

> Really, the problems described here can all be solved by careful font
> selection and configuration.  Fontconfig allows 'virtual fonts' which
> can combine the best parts of a number of font files.

Please explain how this solves the problem of having
multiple fonts in the GUI that all look the same to a
single-language user.

(for example, 100 fonts with foreign-sounding names
that all look **exactly** like DejaVu Sans)
Bert Freudenberg | 1 Feb 21:43
Picon
Gravatar

Re: How to start the Browse activity from my own activity?

On 01.02.2010, at 11:58, Behavior Vehikel wrote:
> 
> How to start the Browse activity from my own activity?
> 
> My Kandid activity can dump internal states as a HTML files. For
> example this information is written to
> ~/.sugar/default/net.sourceforge.kandid/tmp/_znuaxz_169/index.html
> 
> Now I am searching for a possibility to launch the Brows activity
> displaying this HTML file.

Activities are not allowed to directly start another activity. The only supported way is putting that HTML
file into Journal and switching there:

http://wiki.sugarlabs.org/go/Development_Team/Low-level_Activity_API#Focusing_Objects

I still wish there was something more convenient to the user, but so far I think there were no ideas that would
fit into the security model.

- Bert -
C. Scott Ananian | 1 Feb 22:19
Favicon
Gravatar

Re: [DESIGN] Control Panel Font configuration

On Mon, Feb 1, 2010 at 3:31 PM, Albert Cahalan <acahalan <at> gmail.com> wrote:
> On Sat, Jan 30, 2010 at 2:50 PM, C. Scott Ananian <cscott <at> cscott.net> wrote:
>
>> Really, the problems described here can all be solved by careful font
>> selection and configuration.  Fontconfig allows 'virtual fonts' which
>> can combine the best parts of a number of font files.
>
> Please explain how this solves the problem of having
> multiple fonts in the GUI that all look the same to a
> single-language user.
>
> (for example, 100 fonts with foreign-sounding names
> that all look **exactly** like DejaVu Sans)

You should configure fontconfig to only show *one* "Sans" font which
includes the relevant parts of all these other script-specific fonts
for the appropriate unicode ranges.  Fonts which map script-specific
differences which do not have a roman-script equivalent should either
be given names which make this clear (made up example: "Sans (North
Korea)", "Sans (South Korea)") and/or omitted from deployments
targeted at roman-script language groups, with a fontconfig which
directs the use of an appropriate alias font ("Sans", which has
compromise glyphs for Korean, listed as an alias for both "Sans (North
Korea)" and "Sans (South Korea)").
 --scott

--

-- 
                         ( http://cscott.net/ )

Gmane