Re: not quite clear on the concept.




Russell Nelson <nelson@crynwr.com> wrote:
> Maybe I'm the only one who doesn't quite understand this all, but it
> seems to me like Gnome is based on the gtk library.  And other
> programs are based on gtk.  But gnome programs are also based on gnome
> libraries, and those libraries provide graphics services above and
> beyond gtk, so that a gtk program is not necessarily a gnome program.
> Like, for example, the tear-off menus is a gnome thing.
>
> Is that how it works?

Not quite. There's a couple of points of difference:

1) Although some of the facilities of Gnome are GUI-related, many such
as the configuration functions, the session management support, and
the forthcoming object/component/document model are not directly
related to the GUI. Gnome programs may, and in some cases should, use
these services. (When it is required is still ill-defined).

2) The GUI functionality in Gnome involves mainly convenient wrappers
for existing Gtk widgets, and a few complex application-specific
widgets like GtkTty nd the Gtk port of XmHTML. Things in the first
category are mostly a convenience. Things in the second category will
only be used by those programs they are useful to. For the specific
case of tear-off menus, I believe the base functionality is in Gtk,
but standard Gnome wrappers enable it by default.

3) Part of the point of the question, I presume, is what makes an app
a Gnome application as opposed to just a Gtk application. As I
understand it, this means conformance to the Gnome style guide and
other related programming guides that will be made available
(hopefully there will be ones on i18n, the component model, and other
key points).

4) Another point of your question, I guess, is what is the conceptual
difference between Gtk and Gnome. Basically, Gtk aims to be a widget
set, and Gnome aims to be an application framework. While a widget set
is a key part of an application framework, an application framework
provides a lot more, including higher level GUI functionality, and
other services that help apps integrate and work consistently like the
CORBA stuff, the config stuff, the SM and so on.


I hope this helps,

Maciej Stachowiak



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]