/!\ As of GTK+ 3.0 this project is considered complete. /!\

Project Ridley

Goals

Project Ridley is an effort to consolidate a number of external libraries into GTK+.

These libraries are generally small, undermaintained, and buggy. They have an unclear mission (such as libgnome and libgnomeui) or would benefit by being in GTK+ (such as libgnomeprint and libgnomeprintui.)

We would be working towards releasing GTK+-3.0 as a result of this work.

Target Libraries

  • libgnome (4/7)
  • libgnomeui (4/7)
  • libgnomeprint22 (2/2)
  • libgnomeprintui22 (2/2)
  • libglade (1/1)
  • libgnomecanvas (0/1)
  • libegg (4/9)
  • libeel (0/1)
  • gtkglext (0/1)
  • libsexy (2/5)

API/ABI Clarification

There has been some confusion about the ramifications on GTK+'s API/ABI. There is no plan to break API/ABI as a result of this change. We plan to add API to GTK+ (as has happened during the course of the 2.x series) but we don't plan on removing deprecated widgets.

Criteria

As Owen said in a recent GTK+ meeting, when looking over the list of APIs that we are discussing here, there are basically three categories:

  1. Cross-platform API - things that make sense on Windows / OS X
  2. X / freedesktop.org-specific API
  3. GNOME-specific API

APIs in category A. are clearly suitable for moving to GTK+, APIs in category B. may or may not be suitable, and things in category C. are better off in a GNOME-specific library. An examples for B. would be a session management API that closely follows XSMP, an example for C would be gnome-vfs. Also note that in some cases an API may in principle be cross-platform, even if the current implementation makes heavy use of platform-specific libraries.

libgnome and libgnomeui

There's a comprehensive treatment of these libraries at LibgnomeMustDie

Object

Bug Number

More Information

Primary Contact

Status

GnomeApp

127958

LibgnomeMustDie and GTK+/ApplicationClass

FedericoMenaQuintero, EmmanueleBassi

Committed

GnomeClient

79285

LibgnomeMustDie and SessionManagement/EggSMClient

DanWinship

GnomeDruid

115348

LibgnomeMustDie Also /EggAssistant

CarlosGarnacho

Committed

GnomeHRef

314808

LibgnomeMustDie Also /EggLinkButton

EmmanueleBassi

Committed

GnomeHelp

514396

LibgnomeMustDie Also GnomeGoals/RemoveGnomeOpenGnomeHelp

Committed

GnomeProgram

none

LibgnomeMustDie

GnomeSegv

388441 and 449733

LibgnomeMustDie

FernandoHerrera

Committed

libgnomeprint and libgnomeprintui

Object

Bug Number

More Information

Primary Contact

Status

GnomePrint

none

/GnomePrint See Owen's GUADEC 2004 talk

OwenTaylor

Committed

GnomePrintDialog

none

/GnomePrintDialog See Owen's GUADEC 2004 talk

OwenTaylor

Committed

libglade

We've wanted to move libglade into GTK+ for some time.

Object

Bug Number

More Information

Primary Contact

Status

GladeXML

172535

LibgladeInGtk and GnomeGoals/RemoveLibGladeUseGtkBuilder

JohanDahlin and JonathanBlandford

Committed

libgnomecanvas

There is interest in having a more sophisticated Canvas widget inside GTK+. The current GnomeCanvas codebase is deficient for a number of reasons.

Object

Bug Number

More Information

Primary Contact

Status

GnomeCanvas

79286

ProjectRidley/CanvasOverview Also, Havoc's mail

DavidBellot

libegg

We don't want to kill off the library, but some widgets have such widespread use that we should move them into GTK+.

There's a list of current libegg usage in GNOME here: http://www.gnome.org/~fpeters/reports/eggs.html

Tracker bug: Bug #349256

Object

Bug Number

More Information

Primary Contact

Status

EggAccelerator

85780

/EggAccelerator

MatthiasClasen

Committed

EggCellRendererKeys

none

/EggCellRendererKeys

MatthiasClasen

Committed

EggToolbarEditor

120645

/EggToolbarEditor

MatthiasClasen

EggStatusIcon

105101

/EggStatusIcon

MatthiasClasen

Committed

EggTreeMultiDnd

70479

/EggTreeMultiDnd also, Federico's mail

KristianRietveld, FedericoMenaQuintero

EggTreeViewEditor

80867 75128

/EggTreeViewEditor

KristianRietveld, FedericoMenaQuintero

EggTreeViewState

50054 80870

/EggTreeViewState

KristianRietveld, FedericoMenaQuintero

EggRecent

141832

/RecentFiles and RecentFilesAndBookmarks

EmmanueleBassi, FedericoMenaQuintero

Committed

EggIconChooser

314423

/EggIconChooser

JamesCape, EmmanueleBassi

libeel

libeel is only used by nautilus and many of the glib extensions in eel are in glib already. There is one piece of eel remaining requested for GTK+.

Object

Bug Number

More Information

Primary Contact

Status

EelEditableLabel

310693

/EelEditableLabel

JohanDahlin

gtkglext

Object

Bug Number

More Information

Primary Contact

Status

OpenGL integration

119189

EmmanueleBassi

libsexy

Some widgets from libsexy library are integrated in Gtk+, so we can eliminate libsexy dependency in some applications. There is also a GnomeGoal to do that: GnomeGoals/DropLibsexy

Object

Bug Number

More Information

Primary Contact

Status

SexyIconEntry

508809

GtkEntry (since 2.16) and GnomeGoals/DropLibsexy

Committed

SexyUrlLabel

508810

GtkLabel (since 2.17) and GnomeGoals/DropLibsexy

Committed

SexySpellEntry

383706 and 382205

Used by xchat: report

SexyTreeView

Not very used: report. Use GtkTooltip API

Not needed

SexyTooltip

Not very used: report. Use GtkTooltip API

Not needed

Attic/ProjectRidley (last edited 2013-11-23 01:05:06 by WilliamJonMcCann)