Features/GTK3/Shell
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:
- https://bugzilla.gnome.org/show_bug.cgi?id=663052 gobject-introspection not yet merged
- https://bugzilla.gnome.org/show_bug.cgi?id=644926 pygobject missing header file in patch. not yet merged
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())