The Future of libgnome and libgnomeui Anders Carlsson Jonathan Blandford
description
Transcript of The Future of libgnome and libgnomeui Anders Carlsson Jonathan Blandford
The Future of libgnome and libgnomeui
Anders CarlssonJonathan 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 GnomeApp are
straightforward● All are targeted for the dustbin or
GTK+
Objects● gnome-config● gnome-i18n● gnome-score
Widgets● GnomeAbout● GnomeApp/GnomeDock● GnomeClient● GnomeDruid● GnomeEntry● GnomeIconList
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-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
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
GnomeAbout● Description:
– Simple 'About...' dialog● Problem:
– Unfinished API● Action:
– Move to GTK+ once the API is done– Discussed in #109435
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.
GnomeClient● Description:
– Provides session manager support to applications
● Problem:– Buggy and unmaintained– Too complicated
● Action:– Move GsmClient into GTK+
GnomeDruid● Description:
– Assistant widget● Problem:
– Complex API– Bad for Accessibility as colors can be
changed● Action:
– Discussed in #115348– HIG Work needed
GnomeEntry● Description:
– Multiple specialized history entries● Problem:
– Complex API– Dubious targets– Standards non-compliance– Depends on GTK+
● Action:– James Cape proposed a replacement.
GnomeIconList● 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:
– Integrated help system● Problem:
– GNOME specific.● Action:
– Move to GTK+?
gnome-program● Description:● Problem:● Action:
gnome-triggers● Description:● Problem:● Action: