A Standard for Application Starters

Mr. Anastacio demonstrates how to write an aplication starter in a standard format.
The File Name and Location

In order for programs to know where to look for this file, it must have a standard name and location. The name is .apps and the location is found in this way. First, the home directory is searched so that different users can have different configurations. Next, the system directory /usr/local is searched. This is the default configuration for all users, and can be managed by the system administrator.


Most of my experience in GUI programming has been with Motif, Xforms and TclTk. To write Qstart, I chose to use QT because it is available for many platforms and is a powerful toolkit. Also, by choosing QT, I got to learn something new.

QStart reads the .apps file from the standard location. The icon of the main menu is displayed on-screen at the position indicated by the reserved word “Position” as a button. When you press this button with the left mouse button, the applications pop-up menu will appear and the list is shown. (See Figure 1.) Pressing the right mouse button pops up a configuration menu. This menu has the options Quit and Restart. Quit does just that; Restart runs the QStart program (have it in your path) and then quits. These are useful options when you make changes to the .apps file; calling restart automatically updates the applications list.

Figure 1. Applications Menu

QStart defines the following reserved word: Position x;y. This uses x,y as the position on the screen for the button which pops up the menu.

Qstart can be found in the archive file http://w3.ualg.pt/~ranasta/starter/qstart/qstart-1.0.tgz. This includes both binaries and source. Anyone interested is encouraged to use this code to build better starters.

The Future

Here are some points to think about for the future:

  • A stable format for this file

  • New starters built using this format—prettier, more efficient, etc.

  • Installation programs which automatically add entries for the installed components

  • Creation of a set of routines to facilitate the installation programs finding, changing, adding and deleting entries in the file

  • Support of this format in existing window managers

The future is unknown, but we can shape it or at least give it a try.

Rui Anastácio is currently teaching mathematics and computer science at Escola Superior de Tecnologia—Universidade do Algarve and uses Linux for part of his work. His free time is spent in sports such as tennis, table tennis, bicycling, jogging, kung fu, swimming and others. He also likes good books, music, photography, traveling and programming. He can be reached via e-mail at ranasta@ualg.pt.