The Future of libgnome and libgnomeui Anders Carlsson

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 ● Lack of defined scope ● Dependency liability ● Relatively unmaintained code base ● Desktop integration issue

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

Comparison of Size

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

Stuff we can deal with

Dead Code ● Large chunks of both libraries are deprecated ● ABI/API compatibility only ● 'nuff said

Objects and Widgets ● About a dozen widgets ● Tend to be lower quality than GTK+ ● All except Gnome. App are straightforward ● All are targeted for the dustbin or GTK+

Objects ● gnome-config ● gnome-i 18 n ● gnome-score

Widgets ● Gnome. About ● Gnome. App/Gnome. Dock ● Gnome. Client ● Gnome. Druid ● Gnome. Entry ● Gnome. Icon. List

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

gnome-i 18 n ● ● ● Description: – provides a set of standard gettext macros – gnome_i 18 n_get_language_list() Problems: – Used by libraries lower in the library stack – Cut-n-pasted all over Solution: – Move to glib – Discussed in #95587

gnome-score ● Description: – ● Problem: – ● Set of widgets and library code for handling game score code Not generically useful Action: – move into gnome-games as a private library

Gnome. About ● Description: – ● Problem: – ● Simple 'About. . . ' dialog Unfinished API Action: – Move to GTK+ once the API is done – Discussed in #109435

Gnome. App/Gnome. Dock ● Description: – ● ● Framework for application main windows. Problem: – Unclear that users actually want this – Depends on Bonobo. Dock – HIG is moving in a different direction – Different apps have different forms. Think IDE vs. Office vs. . . Action: – Unclear.

Gnome. Client ● Description: – ● ● Provides session manager support to applications Problem: – Buggy and unmaintained – Too complicated Action: – Move Gsm. Client into GTK+

Gnome. Druid ● Description: – ● ● Assistant widget Problem: – Complex API – Bad for Accessibility as colors can be changed Action: – Discussed in #115348 – HIG Work needed

Gnome. Entry ● Description: – ● ● Multiple specialized history entries Problem: – Complex API – Dubious targets – Standards non-compliance – Depends on GTK+ Action: – James Cape proposed a replacement.

Gnome. Icon. List ● Description: ● Problem: ● Action:

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

Examples

Integration code (II) ● ● code to integrate GNOME applications with the rest of the desktop. hardest to deal with

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

gnome-help ● Description: – ● Problem: – ● Integrated help system GNOME specific. Action: – Move to GTK+?

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

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