Anaconda/Features/GTK3

From FedoraProject

< Anaconda | Features(Difference between revisions)
Jump to: navigation, search
(Scope)
 
Line 30: Line 30:
 
This involves porting all the UI code to use PyGI and converting all the Glade files to GtkBuilder format. There is a [http://git.gnome.org/browse/pygobject/tree/pygi-convert.sh script] to help convert PyGTK to PyGI, which will help. We will also
 
This involves porting all the UI code to use PyGI and converting all the Glade files to GtkBuilder format. There is a [http://git.gnome.org/browse/pygobject/tree/pygi-convert.sh script] to help convert PyGTK to PyGI, which will help. We will also
 
need to port our custom widgets (for partitioning etc.).
 
need to port our custom widgets (for partitioning etc.).
 +
 +
Furthermore, we'll probably want to port firstboot at the same time.
  
 
== Test Plan ==
 
== Test Plan ==

Latest revision as of 23:21, 30 January 2011

Contents

[edit] Port UI to GTK3

[edit] Summary

Port Anaconda from GTK2 (using PyGTK and libglade) to GTK3 (using PyGI and GtkBuilder).

[edit] Owner

[edit] Current status

  • Targeted release: Fedora 17
  • Last updated: 30 Jan 2011
  • Percentage of completion: 0%

[edit] Detailed Description

Current Anaconda is written in PyGTK (which is deprecated), using Glade files (which are deprecated) and a lot of procedurally-generated UI (which is kind of terrible).

GTK3 is new and prettier. The GTK3 bindings for Python are provided by PyGI, and they're a lot cleaner. libglade has been replaced by GtkBuilder, which is nicer and more powerful.

[edit] Benefit to Fedora

  • Prettier UI, with a GTK theme that matches the rest of the system
  • Cleaned up Anaconda UI backend

[edit] Scope

This involves porting all the UI code to use PyGI and converting all the Glade files to GtkBuilder format. There is a script to help convert PyGTK to PyGI, which will help. We will also need to port our custom widgets (for partitioning etc.).

Furthermore, we'll probably want to port firstboot at the same time.

[edit] Test Plan

Unit tests will be written to ensure the UI behaves as expected, at least for the simple cases. More complex UI interactions will be tested as a side-effect of other Anaconda testing.

[edit] User Experience

Anaconda's UI uses the same nice GTK3 code and themes as the rest of the system, making the UI prettier and more responsive.

[edit] Dependencies

Requires the availability of pygobject2 in the installer image.

[edit] Contingency Plan

Continue using the existing UI and providing PyGTK and its dependencies in the installer image.

[edit] Documentation

TBD

[edit] Release Notes

TBD