Features/GTK3/Development
This page includes repo details and how to get sugar-jhbuild set up with the GTK3 work.
Repos
- http://git.sugarlabs.org/sugar-toolkit-gtk3 - branch 'master': this is the GTK3 port of sugar-toolkit
- http://git.sugarlabs.org/sugar-toolkit - branch 'master': the GTK2 version of sugar-toolkit needs a handful of structure changes prompted by our GTK3 work. They have been committed here.
- http://git.sugarlabs.org/sugar - branch 'master': we are not (yet) porting the sugar shell to GTK3, but a handful of structural changes were needed.
- http://git.sugarlabs.org/sugar-artwork - branch 'master': mainline sugar-artwork repo containing the new theme work (folder gtk3)
- http://git.sugarlabs.org/browse - branch 'master': Browse port to GTK3
- http://git.sugarlabs.org/read - branch 'master': Read port to GTK3
- http://git.sugarlabs.org/hello-world - branch 'master': hello-world ported to GTK3
- http://git.sugarlabs.org/~walter/abacus/abacus-gtk3 - branch 'abacus-gtk3': Abacus ported to GTK3 and to use cairo for drawing
jhbuild setup
All the changes have been landed in the master branches. Make sure you have the sugar-toolkit-gtk3 repository checked out and installed. There has been a fix in pygobject. Either compile/install the master branch or in F16 you can install as well the recent pygobject3 release.
Pending work
- shortcuts in palettes: button tooltips should show the shortcut, if any, next to the tip. Like in the Stop button, "Stop Ctrl+Q"
- title in menus (e.g. 'Back' in the Browse back button palette)
sugar-toolkit-gtk3
- take screenshot: the code has to be ported to cairo, see _get_screenshot in Browse as an example
- toolbars: finish the sub-toolbar look-alike like in gtk2
- finish porting the 'do_expose_event' calls to 'do_draw' calls
sugar-artwork
- deprectate icon-slicer
- finish the theme
Pending upstream work
All of these have been worked around (or will be worked around) for now, at the sugar level.
- gobject introspection bindings for librsvg: https://bugzilla.gnome.org/show_bug.cgi?id=663049 Solved: fix has been pushed to librsvg master in http://git.gnome.org/browse/librsvg/, is in 2.35.0
- related gobject-introspection fix for libxml2 https://bugzilla.gnome.org/show_bug.cgi?id=663048 Solved: fix has been pushed to gobject introspection 42e9ea858c454646ecf5d4b9579ea7a2ce4192fd
- enable GDK introspection access to X11 window properties: https://bugzilla.gnome.org/show_bug.cgi?id=663261. current workaround patch in sugar-toolkit (Raul)
- extend gio mime type API so that we can drop our xdgmime copy (e.g. need to be able to get default file extension for a given mime type)
- chaining up in vfuncs: https://bugzilla.gnome.org/show_bug.cgi?id=662994 Solved: fix has been pushed to pygobject master http://git.gnome.org/browse/pygobject/commit/?id=2fd3aa9d4ca0906a5e609845ee500ba72e358f94
- implementing GtkContainer::forall: https://bugzilla.gnome.org/show_bug.cgi?id=644926, also needs https://bugzilla.gnome.org/show_bug.cgi?id=663052
- missing parts in pango introspection, 646788 does contain what we need (there are quite a few introspection related pango bugs open atm, from a quick look I found https://bugzilla.gnome.org/show_bug.cgi?id=660070, https://bugzilla.gnome.org/show_bug.cgi?id=627973, https://bugzilla.gnome.org/show_bug.cgi?id=645792, https://bugzilla.gnome.org/show_bug.cgi?id=645871, https://bugzilla.gnome.org/show_bug.cgi?id=646788 even with patches attached already for a while)