Some reading experiences on LinuxGUI and GNOME

Source: Internet
Author: User
Tags cairo
For more information about LinuxGUI and GNOME-Linux general technology-Linux technology and application, see the following. The following statements are very inaccurate and only enhance your understanding.

1. D-Bus, DCOP, bonobo

Bonobo is a component model that adopts the CORBA standard in GNOME. It was developed inspired by Microsoft OLE.

DCOP is a set of IPC Mechanisms for KDE3.X. In the new GNOME and KDE4, D-Bus is used as the new IPC Mechanism. D-Bus is a system built on HAL and uses message mechanisms to implement IPC. The advantage of using these mechanisms is that you can flexibly establish communications between different processes, making process execution more automated and intelligent, for example, we can use the DCOP command line interface to control the KDE Desktop, such as changing the background and closing a program using DCOP.

2. About widgets, styles, theme engine in gtk +

A widget represents a widget in the UI, such as a button or a check box.

Gtk + is a combination of Widgets. You can use gtk + to create the application UI.

A style is a widget display method, such as color, Font, and background image.

Theme engine is a group of shared objects that provide code for drawing apps. It also contains configuration files, resource files (bitmaps, etc ). A theme is a combination of configuration files, specifying the engine and style used by each widget in the theme. In addition, there may be some built-in resource files.

3. Is GTK + a graphics library?
Not strictly. GTK + provides an API to draw the GUI of an application, and its underlying layer is Cairo. Cairo is the graphics library in a strict sense. It provides high-quality vector graph rendering APIs.

4. GNOME Components

The architecture is as follows:
Glade, etc.
GDK, Pango
Cairo, GLib

GDK is an intermediate layer between GTK + and the underlying X Window. You can use it directly to draw the UI. (Similar to the relationship between Swing and awt in Java)

GLib (different from GLibc) provides the most basic data types, macros, and other code for upper-layer programs. Pango is a set of libraries for rendering and drawing fonts. Glade is a high-level encapsulation of GTK +. By compiling an XML configuration file, you can easily establish the application UI and separate the code for writing the UI from the underlying functions of the program. Similar to the relationship between MFC and Win32 APIs.

5. Nautilus
Is the standard file manager of GNOME. It provides a standard interface for users to browse file systems and start applications.

Note: The "desktop" in GNOME is actually a Nautilus window.

6. About desktop "programs"
Both KDE and GNOME follow the freedesktop desktop entry standard and use a configuration file to run the program.

For example:
(The contents of xxx. desktop are as follows)
[Desktop Entry]
Name = xxx
Exec = yyy
Comment = zzz

It is a valid desktop entry. GNOME and KDE will automatically read the information of this configuration file and execute the program described in it.
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.