A Standard for Application Starters
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.
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.
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.
- Security Hardening with Ansible
- diff -u: What's New in Kernel Development
- Source Code Scanners for Better Code
- Memory Ordering in Modern Microprocessors, Part I
- Python Scripts as a Replacement for Bash Utility Scripts
- Senior Perl Developer
- Readers' Choice Awards 2013
- Updating the Firmware of Linux-Based Devices
- Technical Support Rep
- Linux Systems Administrator