Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Gtk+/Gnome Application Development
Prev Home Next

Gnome Application Checklist

Almost all Gnome applications should support a common set of features. This checklist summarizes the most important ones. Always remember: Gnome is a direct response to the problem of application heterogeneity in the X environment, and one of the most important goals of any Gnome application should be look-and-feel consistent with other Gnome applications, starting with the source code seen by programmers and ending with the spiffy GUI you present to users.

  • Create a standards-compliant source tree. Use the Gnome autoconf macros, or the gnome-config script, to reliably locate the Gnome libraries and header files.

  • Include a README describing the package.

  • Include the standard INSTALL file describing how to compile and install the package; change the standard file to reflect anything specific to your application.

  • Include a copyright, in a file called COPYING.

  • Internationalize your application with GNU gettext and the standard C library functions.

  • Include the intl directory with your application, so users can build the application without having gettext. Include intl in your header file search path.

  • Define the G_LOG_DOMAIN preprocessor symbol to identify the origin of glib error messages.

  • Define the GNOMELOCALEDIR preprocessor symbol so Gnome can find translation files.

  • Install a .desktop file so your application will appear on the Gnome desktop's menus.

  • Install help files along with topic.dat files so the Gnome help browser can locate them.

  • Be sure the make distcheck target works; this is will catch many common makefile errors.

  • Set up a popt argument parser; at a minimum, you will probably want to support a --geometry option.

  • All configuration should be possible via the GUI; the easiest way to achieve this is with the Gnome configuration library.

  • Your application should support session management; at a minimum, it should save and restore the currently open documents.

  • If appropriate, use the GnomeApp for your main document windows; this widget gives Gnome applications a consistent look-and-feel.

  • Call gtk_window_set_wmclass() to set the class hint on your windows, so users can customize how window managers treat them.

  • Use GnomeUIInfo to create menus and toolbars; when appropriate, use the Gnome macros for standard menu items.

  • Add a status bar to display hints for the menu items, and any other status your application has to report.

  • Use GnomeDialog and its subclasses for your dialogs.

  • Add online help, including tooltips and documentation for display in the help browser.

  • Keep a ChangeLog detailing changes to your source code. This will help other people understand the evolution of the application, and help you understand why you made certain changes years later.

Gtk+/Gnome Application Development
Prev Home Next

  Published under free license. Design by Interspire