Difference between revisions of "Features/GTK3/Shell"

From Sugar Labs
< Features‎ | GTK3
Jump to: navigation, search
Line 24: Line 24:
  
 
python-xklavier is based on pygtk codegen, we can probably just drop the link to pygtk, but failing that, we will need introspection bindings.
 
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:
 +
 +
<pre>
 +
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)
 +
</pre>
 +
 +
TypeError: Could not caller allocate argument 6 of callable property_get

Revision as of 20:14, 11 December 2011

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