Launch, Not Lunch Platforms!
You know, François, I am having trouble staying focused on this menu. My mind, it keeps wandering. Eh? Well, you see, mon ami, the topic of this month's issue is platforms. I keep thinking about launch pads. You know, la navette, the space shuttle, catapults, all sorts of launchers. Even when I try to get my head out of the clouds and try to focus on our Linux systems, I think application launchers. I think my brain, it is stuck on this whole launch pad business.
What? But François, surely you know what I mean by application launchers. The big foot in the bottom left-hand corner of that GNOME desktop at table eleven is an example, just like the big K on the KDE desktop at table six. Then, of course, there are the little buttons on KDE's kicker or GNOME's panel. Nevertheless, people have been experimenting with other ways of launching applications for a long time. For instance...ah, mes amis! Bienvenue! Welcome to Chez Marcel. François and I were just discussing application launchers, and I was about to give him some examples. Please sit down and be comfortable.
François, what are you doing just sitting there? Du vin, mon ami. Vite! The 1989 Alsace Riesling is drinking wonderfully. It is time to let our guests sample its grandeur, non? Vite, François.
I was showing François the program launchers in KDE and GNOME, but there are other desktops out there, and besides, we still put icons on our desktops for easy access. For those of you who, like me, enjoy a little Window Maker from time to time, let me start you off with a single-button dock application that is really quite good despite its name. Written by Alexandre Beraud and Emmanuel Sunyer, WMbad is a good little program launcher with some slick features such as theme support and scroll or fade effects between applications. Just click the arrow and watch the little pixmaps slide from one to the other.
Why would you do such a thing? That is a good question. Well, I don't know about you, mes amis, but my desktop is at times a little, shall we say, crowded. A small launch application that requires little room does not seem like such a bad idea. Have a look at Figure 1 for a picture of WMbad in action.
You will of course want to build this yourself, non? Start by picking up the source tarball at perso.mnet.fr/esunyer/wmbadeng.html. The installation is easy but with a few more steps than we are used to. There is a theme and pixmap directory that need to be copied into your home directory:
tar -xzvf wmbad-0.3.0.tar.gz cd wmbad-0.3.0 make make install mkdir $HOME/.bad cp config.bad $HOME/.bad cp alpha.xpm $HOME/.bad cp -R pics $HOME/.bad cp -R themes $HOME/.bad
Ah, François. Merci. Please, pour for our guests. I promise you, mes amis, you will love this wine. Meanwhile, the compile, as you can see, is done. You can now start the application by typing wmbad &. Everything you need to customize WMbad is available from the application itself. Need a quick xterm? Just click the little bar on the left-hand side. Click on the little round button on the right-hand side and an editor session pops up allowing you to update the config file. You will find the format extremely easy to work with, see the following sample. Note the line that reads “Commands number”. If you add commands, you need to increment that. For instance, in the following example, I have seven scrolling commands defined (the default file has four):
[Theme pixmap] default.xpm [NONE/SCROLL/STORE] SCROLL [Commands number] 7 [Com 1] emacs editor.xpmNow, I happen to know that some of you are running AfterStep. The next item on our menu is for you. Actually, mes amis, this can be for everyone since I have run it from my KDE and Window Maker desktops. The application is called asbutton and comes to us from Ryan Lathouwers. You can get the latest copy at home.pacbell.net/ryanlath/asbutton.html.
Next, unpack the source and build your launcher:
tar -xzvf asbutton-0.3.tar.gz cd asbutton-0.3 make make install cp .asbuttonrc $HOME
The final command copies the default configuration file to your home directory. The format of the file is simple and well documented so adding additional commands should be very easy. If you are eager to see the program in action with its default batch of commands, then launch the asbutton program launcher (ahem) by typing asbutton &.
If you should wish to run a nine-button configuration, as opposed to the four-button default, use the -n 9 flag. In order to make the space used by this tiny launcher as productive as possible, each button can launch multiple applications. Click the left button and the top program starts. Use your right mouse button instead and you launch xosview. Do that with nine buttons and you have one-click access to 18 programs while taking up a meager 64 × 64 pixels (see Figure 2).
If you do wish to have this startup attached to your AfterStep wharf, then add the following line to your wharf configuration file:
*Wharf asbutton - Swallow "asbutton" asbutton &
If you are having trouble locating it, the wharf config file should be located at $HOME/GNUstep/Library/AfterStep/wharf.
Another such launcher I would like you to look at is attractive because of its name. Would you believe minibar? Upon looking at Michael Eddington's minibar, I was at first disappointed to find it completely empty of even a humble table wine. Le truc, in this case, was to remind myself that this is software and not a real minibar. This is a small, vertical program launcher that takes up virtually no room on your desktop. The icons are tiny, providing single-click access to whatever commands you see fit. For starters, pick up your copy at http://www.phed.org/miniProject/.
A little word of warning here, and no, I do not mean that you should be careful not to overindulge in the soufflé. Indulge all you like, mes amis. François, more wine! Non, what I am talking about is this. There is a precompiled binary included with the distribution, but I ran into runtime library problems. The simplest way to deal with the problem is to extract the software, remove the old binary, then build anew:
tar -xzvf minibar-0.05.tar.gz cd minibar-0.05 make clean make make install cp minibarrc $HOME/.minibarrc
As you can see, the last step involves copying a configuration file into your home directory. Once again, this is a simple file to work with. Each button (and command) is defined simply (see Figure 3). For instance, if I wanted to add a button that started a copy of the GIMP, I would add these lines:
/usr/include/X11/pixmaps/mini-palette.xpm The GIMP gimp
The first line is the path to one of your mini-icons (the installation copies a handful into your /usr/include/X11/pixmaps directory), but you can use other mini-pixmaps on your system or create your own. In the following example, I had a 48 × 48 PNG image for the GIMP that I wanted to convert to a 16 × 16 size and then save as an xpm file. A little ImageMagick and voilà:
convert -geometry 16x16! gnome-gimp.png gimp.xpm
The convert program is part of the ImageMagick suite of tools and is likely already installed on your Linux system. Other interesting commands you may wish to explore include mogrify and identify. If, perchance, you do not have ImageMagick installed, check your installation CD-ROM or visit http://www.imagemagick.org/.
The truth, mes amis, is that application launchers like these are simple menus with a little flash. Since the core is still simplicity, I thought I would add one final item on today's menu, one that is more closely related to the other type of launch pad. Oui, it is time to launch our ships into space and protect our fair planet from invading alien hordes. In keeping with our theme of simplicity, allow me to present you David Slimp's Perl Defense Blaster. This is an arcade-style game written entirely in Perl that runs on an ASCII screen with very simple graphics. It is also strangely addictive. Get your copy of Perl Defense Blaster at http://perlblaster.sourceforge.net/.
You may also need to visit CPAN (http://www.cpan.org/) to pick up a couple of modules: Curses.pm and TermReadKey.pm. You can also get these via FTP at the following addresses: ftp.cpan.org/CPAN/modules/by-module/Curses and ftp.cpan.org/CPAN/modules/by-module/Term.
It is true that I have covered the process for installing Perl modules before, but nevertheless, here is a quick reminder. We will use the Curses.pm module as an example:
cd /usr/local/temp_dir tar -xzvf Curses-1.05.tar.gz cd Curses-1.05 perl Makefile.PL make make install
Because Perl Defense Blaster is just a script (and consequently another excellent opportunity for experimenting with Perl code, non?), all you have to do is extract the source and run it:
tar -xzvf perlblaster-0.1.0.tar.gz cd perlblaster-0.1.0 ./perlblaster &Use the “4” and the “6” on your numeric keypad to move side to side and the “5” to fire. Bonne chance! The fate of our world depends on your skill and lightning reflexes, non? For a peek at Perl Defense Blaster in action, have a look at Figure 4.
Et bien, mes amis, the time has come once again for us to raise our glasses one final time. François will happily refill your glasses once more before you leave us. I hope that you have enjoyed today's menu and that you will join us again next time. Thank you once again for coming. Until next time, please join us here at Chez Marcel. Your table will be waiting.
A votre santé! Bon appétit!
- Android Candy: Google Keep
- Readers' Choice Awards 2014
- Handling the workloads of the Future
- How Can We Get Business to Care about Freedom, Openness and Interoperability?
- Days Between Dates?
- Synchronize Your Life with ownCloud
- diff -u: What's New in Kernel Development
- Computing without a Computer
- December 2014 Issue of Linux Journal: Readers' Choice
Editorial Advisory Panel
Thank you to our 2014 Editorial Advisors!
- Jeff Parent
- Brad Baillio
- Nick Baronian
- Steve Case
- Chadalavada Kalyana
- Caleb Cullen
- Keir Davis
- Michael Eager
- Nick Faltys
- Dennis Frey
- Philip Jacob
- Jay Kruizenga
- Steve Marquez
- Dave McAllister
- Craig Oda
- Mike Roberts
- Chris Stark
- Patrick Swartz
- David Lynch
- Alicia Gibb
- Thomas Quinlan
- Carson McDonald
- Kristen Shoemaker
- Charnell Luchich
- James Walker
- Victor Gregorio
- Hari Boukis
- Brian Conner
- David Lane