Features/GTK3/Shell

From Sugar Labs
< Features‎ | GTK3
Revision as of 16:05, 30 January 2012 by Manuq (talk | contribs)
Jump to navigation Jump to search

Daniel Drake started an effort to port the shell to the GTK3 sugar-toolkit. These are the biggest issues identified so far:

Custom tree model for journal

Having trouble reimplementing this. See http://mail.gnome.org/archives/python-hackers-list/2011-December/msg00010.html

Custom Icon cell renderer

sugar3.graphics.icon.CellRendererIcon is based on pygtks GenericCellRenderer - needs to be ported

do_forall not working in pygobject

Needs:

cant call gdkwindow.raise()

raise is reserved word in Python. Workaround: getattr(win, 'raise')()

See http://mail.gnome.org/archives/python-hackers-list/2011-December/msg00011.html

xklavier

python-xklavier is based on pygtk codegen, we can probably just drop the link to pygtk, but failing that, we will need introspection bindings.

gdk_property_get

Not working:

def _property_get_trapped(window, prop, prop_type):
    Gdk.error_trap_push()

    prop_atom = Gdk.Atom.intern(prop, False)
    type_atom = Gdk.Atom.intern(prop_type, False)

    logging.warning("get prop %s %s %s", window, prop_atom, type_atom)
    prop_info = Gdk.property_get(window, prop_atom, type_atom, 0, 9999, False)
TypeError: Could not caller allocate argument 6 of callable property_get

ActivityIcon.do_draw never called

see http://mail.gnome.org/archives/python-hackers-list/2011-December/msg00013.html

Port hardcoded styles to the CSS stylesheet

For example in sugar/extensions/cpsection/network/view.py we have things like:

        label_server = gtk.Label(_('Server:'))
        label_server.set_alignment(1, 0.5)
        label_server.modify_fg(gtk.STATE_NORMAL,
                               style.COLOR_SELECTION_GREY.get_gdk_color())