Software For the ProGear

Shortly after getting my ProGear web tablet I started modifying it to suit my needs. Usually the first thing I do on any new Linux/Unix platform is pull across my treeps package. I find it very useful in figuring out exactly what's going on in any new environment. So I copied across the statically linked binary tarball distribution, unbundled it and ran the Setup program. All did not go well :(

My setup script for treeps uses a bunch of programs that don't exist on the default distribution. In particular bc(1), install(1), sort(1), uniq(1) and wc(1) were not there. Oh well, since I knew how to put the files in the right place I just manually copied the files. Voila! Treeps then ran! Actually I was quite shocked because the programs were binary x86 code and built/linked on a RedHat 5.1 system! So code morphing works!!!! Cool, now I could see what programs were running and start to figure out what makes a ProGear tick. As usual there were a bunch of new programs( kfpPowerMgr, fpPowerMgr, inputhandler3, dt_lwm, dt_init, dt_menubar, ...) to look at.

I have since tweaked treeps so that it now install's and runs properly on the ProGear. Here is a ProGear Treeps Binary Tarball that you can use. Just download, crack a shell, gunzip, untar, "su root" and run ./Setup. Exit back to the webzine users shell and enter "treeps". Here is the source for anyone so inclined. You will need motif to link with though. One problem. There is some unusual interaction with the default ProGear's window manager that can leave "ghost" windows lying around even after the program has destroyed them. These can be removed by holding the cursor on the [x] for a few seconds. This problem also happens for other apps, one of the reasons I don't use the ProGear window manager so much(more on this a bit later).


Next on my list of things to do was to setup some way to start more programs from the GUI. Alas the ProGear window manager does not make this easy! Gnome and KDE have ways to add app launchers to the menus and right onto the control panel. But I could find no easy way to do the same thing with ProGear.

My solution was to use one of my other programs called xr3. I originally wrote xr3 as a simple remote control application to drive a learning IR remote control that hooks up to a serial port. It allows me to have buttons on my desktop that control my stereo and other A/V equipment. When I wrote it I wanted to also create a simple "control panel" package that is independent of any particular toolkit. Basically the program uses simple text files to define buttons/labels positioned by x,y coordinates. When a button is pressed a shell script is executed. Pretty simple really.

Since xr3 can run any command or script I figured I could also use it the same way one would use a desktop menu or an app launcher. So I copied across the package to the ProGear, then pulled across the GTK binary, also a x86 executable! I started creating a new control panel, and within a few minutes I had the ability to execute commands using the stylus or my fingers! So I added buttons to start xterms, launch netscape, start the music player ...

To automatically start it I figured all I would need to do is add it the X startup scripts. Well I started looking at the ProGears startup mechanism, it's somewhat different in that it goes right into an X session with no login. But I quickly figured out the magical file I needed to modify was .xinitrc.10.7 in the /home/webzine directory! Voila! adding a line to run xr3 in the background and away it went! now every time I booted I had a little app starter: See Picture. I also added my own custom backdrop on startup :) The app launcher is the fuzzy grey box of buttons on the right. At the top is a button to start my slide show of pictures which runs for hours :)

While looking at the .xinitrc for a while I noticed that it really does more than it needed to. Also I wanted to try running without the ProGear desktop to see if I could improve the startup time. I figured I would not always need netscape running... So I tried replacing it with a much simpler one. i.e. one line containing the command to start my xr3 control panel. Well that cut a huge amount of time off the startup process! Wow!

The only drawback was the lack of window manager. So I decided to try one from the developers disk that I had. The simplest one I knew of was twm. So I copied the binary over and tried it. Sure enough it worked! Now my windows had borders and I could move them around... Not only that the problem with "ghost" windows was gone. Basically it works much like most window managers that I am used to. The ProGear window manager also does some odd things to keep windows within the screen size and to always have the text input dialog visible when in use. Some programs don't react properly and was causing some weird problems for me. Anyhow, twm works like a champ. It's also very fast and lightweight.

So now with a simple fast GUI I set about putting together the main applications I had in mind. There were two things that I really wanted the ProGear for. Firstly a music player, then a dynamic picture frame. The first was easy to accomplish by pulling over mpg123 which is a command line based mp3 player. I wrote some scripts to make it easy to start up individual albums. Then I created a control panel for all of my CD's that I have ripped.

Next on my list was a dynamic picture frame. I wrote some more scripts, this time using xloadimage and again bound these to a button on my main control panel. This was getting too easy! I'm starting to think this is a very productive way to customize Linux environments! Sure takes a lot less time than writing GUI apps!


Provide details for:

    Running a simpler desktop

    Installing a simple window manager(twm)

    Getting a nicer ftp client

    Setting up a Picture Show

    Playing music

    Expanding the basic menu to add admin commands

Last update: 18/Feb/2003