O'Reilly logo

Web, Graphics & Perl/Tk Programming by Jon Orwant

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 31. Gnome Panel Applets

Joe Nasal

Gnome is the desktop environment of choice on my home Linux system, because it’s feature-packed and user friendly. Gnome is also flexible, and thanks to the Gtk-Perl module and associated desktop toolkit bindings, I can use my favorite programming language to further customize and extend my Gnome environment.

This article shows how a useful Gnome tool can be be built in an afternoon. It is also an example of some common techniques one employs when doing this sort of GUI programming, including widget creation, signal handling, timers, and event loops. It also reviews some Perl basics. Read on, and you may be inspired with notions of your own.

Gnome

On a Gnome desktop, the panel contains a variety of buttons and other widgets that launch applications, display menus, and so on. It’s standard desktop fare, just like the Microsoft Windows Start menu.

An applet is a particular kind of Gnome application that resides within and operates on the panel itself. The Gnome distribution comes with several of these, such as a variety of clocks, the game of Life, and system resource utilization monitors. The Gtk-Perl module enables a Perl programmer to create custom Gnome panel applets.

The Gnome panel applet we’ll build finds the local host’s default TCP/IP gateway and affixes the gateway’s status to the label of a button. When the button is in an off position, the gateway is not polled (Figure 31-1).

Figure 31-1. A Gnome panel applet

When the button is on, the ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required