Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I’ll try to keep this as simple as possible, but by asking about the internal components of a Fedora system, you’re inevitably going to get some technical details!

From a programmer’s point of view, GTK+ is a framework (i.e. class library) for writing user-friendly graphical programs. As an end user, you only really see the user-interface: GTK+ provides the widgets (menus, buttons etc.) and layout of the programs. GTK+3 is the current version, used by up-to-date (GNOME) software. GTK+2 was the latest version until the last couple of years, so a lot of software still uses it. GTK+1 is ancient, and rarely used. All three can safely be installed together. There are also several versions of Qt, and a few other less popular packages, which provide similar features.

Themes control how these ‘tool-kits’ appear on screen, i.e. what buttons look like, colours, sizes etc. The different versions of the different tool-kits each have their own theme-engines, and have their own themes and settings, but these days they try to respect each others themes as much as possible, and packaged themes often include the configurations for several tool-kits so that you don’t need to worry. For example, Qt applications will try to look like the current GTK+ theme when appropriate.

GNOME Shell is the program which provides the top-bar and activities overview (amongst other things). It uses another tool-kit: Clutter, which is closely related to GTK+ but focuses on fancy graphics effects rather than classical widgets. Thus Shell has a separate theme again, although Shell themes may be designed to work well with particular GTK+ themes.

I’ll try to keep this as simple as possible, but by asking about the internal components of a Fedora system, you’re inevitably going to get some technical details!

From a programmer’s point of view, GTK+ is a framework (i.e. class library) for writing user-friendly graphical programs. As an end user, you only really see the user-interface: GTK+ provides the widgets (menus, buttons etc.) and layout of the programs. GTK+3 is the current version, used by up-to-date (GNOME) software. GTK+2 was the latest version until the last couple of years, so a lot of software still uses it. GTK+1 is ancient, and rarely used. All three can safely be installed together. There are also several versions of Qt, and a few other less popular packages, which provide similar features.

Themes control how these ‘tool-kits’ appear on screen, i.e. what buttons look like, colours, sizes etc. The different versions of the different tool-kits each have their own theme-engines, and have their own themes and settings, but these days they try to respect each others other’s themes as much as possible, and packaged themes often include the configurations for several tool-kits so that you don’t need to worry. For example, Qt applications will try to look like the current GTK+ theme when appropriate.

GNOME Shell is the program which provides the top-bar and activities overview (amongst other things). It uses another tool-kit: Clutter, which is closely related to GTK+ but focuses on fancy graphics effects rather than classical widgets. Thus Shell has a separate theme again, although Shell themes may be designed to work well with particular GTK+ themes.