The Future of libgnome and libgnomeui Anders Carlsson Jonathan Blandford

27
The Future of libgnome and libgnomeui Anders Carlsson Jonathan Blandford

description

The Future of libgnome and libgnomeui Anders Carlsson Jonathan Blandford. History of gnome-libs. What are libgnome/libgnomeui? Initial GNOME library Held all shared code in the early desktop Dumping ground before we really knew what we wanted in a desktop. Problems. - PowerPoint PPT Presentation

Transcript of The Future of libgnome and libgnomeui Anders Carlsson Jonathan Blandford

Page 1: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

The Future of libgnome and libgnomeui

Anders CarlssonJonathan Blandford

Page 2: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

History of gnome-libs● What are libgnome/libgnomeui?

– Initial GNOME library– Held all shared code in the early desktop– Dumping ground before we really knew

what we wanted in a desktop

Page 3: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

Problems● Lack of defined scope● Dependency liability● Relatively unmaintained code base● Desktop integration issue

Page 4: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

Our Goal● Deprecate● Whack entirely!!● Remove● Fit with a pair of concrete shoes● Send to the great Attic/ in the sky

Page 5: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

Comparison of Size

Page 6: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

What the heck is there?● Dead code● General purpose objects and widgets● Code to integrate non-codependent

libraries● Code to integrate with the desktop

Page 7: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

Stuff we can deal with

Page 8: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

Dead Code● Large chunks of both libraries are

deprecated● ABI/API compatibility only● 'nuff said

Page 9: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

Objects and Widgets● About a dozen widgets● Tend to be lower quality than GTK+● All except GnomeApp are

straightforward● All are targeted for the dustbin or

GTK+

Page 10: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

Objects● gnome-config● gnome-i18n● gnome-score

Page 11: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

Widgets● GnomeAbout● GnomeApp/GnomeDock● GnomeClient● GnomeDruid● GnomeEntry● GnomeIconList

Page 12: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

gnome-config● Description:

– .desktop file parser● Problem:

– not flexible– indeterminate use case– Many alternate implementations (6 at last

count)● Action:

– Rewrite proposed by Ray Strode: #139973

Page 13: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

gnome-i18n● Description:

– provides a set of standard gettext macros– gnome_i18n_get_language_list()

● Problems:– Used by libraries lower in the library stack– Cut-n-pasted all over

● Solution:– Move to glib– Discussed in #95587

Page 14: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

gnome-score● Description:

– Set of widgets and library code for handling game score code

● Problem:– Not generically useful

● Action:– move into gnome-games as a private

library

Page 15: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

GnomeAbout● Description:

– Simple 'About...' dialog● Problem:

– Unfinished API● Action:

– Move to GTK+ once the API is done– Discussed in #109435

Page 16: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

GnomeApp/GnomeDock● Description:

– Framework for application main windows.● Problem:

– Unclear that users actually want this– Depends on BonoboDock– HIG is moving in a different direction– Different apps have different forms. Think

IDE vs. Office vs...● Action:

– Unclear.

Page 17: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

GnomeClient● Description:

– Provides session manager support to applications

● Problem:– Buggy and unmaintained– Too complicated

● Action:– Move GsmClient into GTK+

Page 18: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

GnomeDruid● Description:

– Assistant widget● Problem:

– Complex API– Bad for Accessibility as colors can be

changed● Action:

– Discussed in #115348– HIG Work needed

Page 19: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

GnomeEntry● Description:

– Multiple specialized history entries● Problem:

– Complex API– Dubious targets– Standards non-compliance– Depends on GTK+

● Action:– James Cape proposed a replacement.

Page 20: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

GnomeIconList● Description:● Problem:● Action:

Page 21: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

Integration code (I)● gnome-libs is high in the library chain

Page 22: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

Examples

Page 23: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

Integration code (II)● code to integrate GNOME applications

with the rest of the desktop.● hardest to deal with

Page 24: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

Current code● gnome-help● gnome-program● gnome-triggers

Page 25: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

gnome-help● Description:

– Integrated help system● Problem:

– GNOME specific.● Action:

– Move to GTK+?

Page 26: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

gnome-program● Description:● Problem:● Action:

Page 27: The Future of  libgnome  and libgnomeui Anders Carlsson Jonathan Blandford

gnome-triggers● Description:● Problem:● Action: