GTK 3/GNOME 3

Registered by Jason Warner on 2011-04-16

Plan how to integrate GNOME 3 and port our GTK2/pygtk2 apps to it.

 * Review our patches, and be rather aggressive about removing those which are intrusive and which we have carried for ages without upstream acceptance. Of course there are also still patches which we haven't even proposed upstream, these should be discussed in bugzilla.gnome.org.

 * Port pygtk2 apps to PyGI with GTK3. The biggest ones are ubiquity and software-center, but there is also quite a long tail
  of smaller upstream software.

 * Discuss GTK3 theming with UX/design. Our current murrine based Humanity theme doesn't work with GTK3.

Blueprint information

Status:
Complete
Approver:
Martin Pitt
Priority:
High
Drafter:
Sebastien Bacher
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
Accepted for oneiric
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-11.10-beta-1
Started by
Martin Pitt on 2011-05-18
Completed by
Sebastien Bacher on 2011-11-08

Whiteboard

Work items (oneiric-alpha-1):
[rodrigo-moya] Write a mir for accountsservice (bug 785680) : DONE
[rodrigo-moya] Write a mir for apg (bug 785682): DONE
[rodrigo-moya] Write a mir for gnome-icon-theme-symbolic (bug 785700): DONE
[themuso] Write MIRs for the at-spi2 stack: DONE
[jbicha] Write a mir for libpeas (blocking gedit, eog3 and totem) (bug 782958): DONE
[jbicha] Write a mir for seed (required by libpeas & epiphany-browser) (bug 782972): DONE
Get nautilus to install an autostart desktop conditional on the gsettings show icons key (upstream said they would welcome a patch for that): DONE
[rodrigo-moya] Upload evolution-couchdb build with the new evolution stack: DONE

Work items (oneiric-alpha-2):
[seb128] review the deprecated libraries rdepends: DONE
Decide on whether nautilus should still draw desktop icons or not in Ubuntu: DONE
[themuso] Adjust package dependencies and seeds to use at-spi2: DONE
[mterry] port ido to GTK3: DONE
Write a mir for sound-theme-freedesktop (libcanberra0 now depends on it) (bug 790893): DONE

Work items (oneiric-alpha-3):
[pitti] Write a mir for cups-pk-helper: DONE
Decide what to do with clutter in the default installation: DONE
[mvo] port update-manager to pygi: DONE

Work items:
[ted] get libindicate-gtk ported to GTK3: DONE
[pitti] port usb-creator to pygi: DONE
clean libglade out of the CD: DONE
clean libgnome,ui out of the CD: DONE
clean libbonobo,ui out of the CD: DONE
clean libgnomevfs out of the CD:
[ev] port ubiquity to pygi: DONE
port software-center to pygi: DONE
port ubuntuone-music-store plugins to pygi: POSTPONED
[ken-vandine] port gwibber to gtk3: DONE
[bilalakhtar] port checkbox to pygi: DONE
[pitti] port system-config-printer to pygi (upstream is working on g-c-c integration instead): DROPPED
provide GTK3 variant of appmenu-gtk ( https://code.launchpad.net/~hasselmm/appmenu-gtk/gtk3/+merge/60326): DONE
Remove gnome-system-tools from seeds, replace with user admin tool from GNOME 3: DONE
[rodrigo-moya] Check NTP configuration works ok with upstream code in gnome-settings-daemon (needs g-s-d 3.1.x): DONE
Drop gnome-themes-ubuntu package (old gtk2 themes from community) or update them with new themes: DONE
[robert-ancell] replace tsclient with remmina in the seed (tsclient removed from sid/oneiric): DROPPED
[rodrigo-moya] Port gnome-settings-daemon.gconf-defaults to use GSettings (dh_installgsettings): DONE
[jbicha] Port gnome-power-manager.gconf-defaults to use GSettings: DONE
[jbicha] Port energy star compliant patch in gnome-power-manager to g-s-d plugin GSettings: DONE
[robert-ancell] port simple-scan to GTK3: DONE
Update or drop nautilus indicator-application patch:
Update nautilus indicator-appmenu patch:
Trigger the gconf to gsettings migration for users upgrading from natty even if they did it before:
Check if the new glade works for gtk2 custom widgets and add back a glade-gtk2 if it doesn't:
[rodrigo-moya] Rebase system-wide config patches in gnome-control-center: DONE
Rebase appindicator patch in vino package:
[rodrigo-moya] Get custom background images to stay on upgrade (key migration or gsd patching to get the old path and transform it to an uri): DONE
Update totem bbc code to work with the new version:
fix gsettings-data-convert to only convert the user's customized gconf settings; right now it creates per-user customized keys for cases where the gconf system default != gsettings system default: TODO
Demote cheese: DONE

Work items (ubuntu-11.04-beta-2):
Check that accountsservice works fine on Ubuntu: DONE

Comments:

didrocks, 2011-08-29 : remove the "on session gsettings" WI. We don't really need it anymore and the pieces which will require that in p have now an switch option for it.

seb128, 2011-07-21: no need to add remmina to the CD, vinagre does vnc and rdp which was agreed to be enough for the standard users need during the desktop team meeting, those who need extra feature can install remmina or similar

seb128, 2011-06-10: libcheese is used by ubiquity but the new version of cheese brings the clutter stack in and some other depends, we should see with the ubiquity team if they can replace it by something else and demote cheese to universe

seb128, 2011-06-10: libgnome, libgnomeui, libbonobo, libbonoboui libgnomecanvas are pulled in by tomboy only in oneiric (uses gconfpeditor which depends the deprecated stack), blocking on mono to get gsettings bindings

pitti, 2011-04-27: add postponed work items from https://launchpad.net/ubuntu/+spec/packageselection-desktop-n-gnome3
Questions:

[jbicha] Nautilus 3 uses Ctrl+Del instead of Del to delete files, are we ok with this or should we patch it?
http://git.gnome.org/browse/nautilus/commit/?id=cce40272e35b20b4aaf5f93109a05b7bb89704d5

Session notes:

Let us make GNOME3 rock on Ubuntu 11.10!

Glib, GTK:
* We will track the unstable glib and gtk version during the oneiric cycle, new gtk will be api,abi stable and should not be an issue

Updates and ppa usage:
* The GNOME3 ppa worked fine this cycle, it made easier for contributors to participate
What about testing? It would get less testing in the ppa
Natty Gnome 3 PPA
* Keep it at 3.0.*
* Don't include gnome-panel 3 as it breaks Ubuntu Classic by not supporting indicators
Gnome 3.1 PPA
* Both Natty & Oneiric?

Plan of action:
* Start with merges from Debian and 3.0 landing
* Then start landing 3.1 directly to Oneiric
* Keep the GNOME 3.0 ppa running for natty
* See if the ppa contributors are wanting to work on a 3.1 ppa for natty

Goals:
- clean libgnome, libgnomeui, libbonobo, libbonoboui, libglade, gconf, gnome-vfs, libgnomecanvas
  - Needed to switch to the new a11y to get rid of bonobo -> we will do it, a11y said the new version is ready
  - Port indicator-applet to the new DBus API
- get a gtk3 theme

Firefox Gtk3 port:
- https://bugzilla.mozilla.org/show_bug.cgi?id=627699
- https://bugzilla.mozilla.org/show_bug.cgi?id=611953 (GNOME 3 readiness)
Gconf: the helper migrating the gconf values to gsettings will be rewritten to read directly the gconf database without depending on gconf to get the keys
[seb128] review the rdepends by alpha1
GTK: we need to think how the new GtkApplication menu that gnome-shell will use is going to play with indicator-appmenu
Theming:
- Dx plans to port the theme to GTK3, making it working on GTK2 maybe, should land before feature freeze
  - how about writing a murrine theme to css converter?
- Community themes will be changed to adapt to gtk3
GDM → LightDM:
 - http://summit.ubuntu.com/uds-o/meeting/desktop-o-lightdm/
 - https://blueprints.launchpad.net/ubuntu/+spec/desktop-o-lightdm
Overlay Scrollbars > Will they be ported to GTK3? yes
 - Will it be proposed upstream?
The appmenu-gtk will be ported to GTK3 as well

a11y:
check the at-spi2 impact on dbus:

Bindings:
pygi lacks some good api documentation

Sofware-center has to be ported to GTK3.bb

(?)

Work Items