Gpredict Progress Report

It is now more than two months ago that I have released the last development snapshot of gpredict and it would be very appropriate to make status of what has been going on since. So here it comes.


William J. Beksi has shown some interest in doing some work on the GtkSatMap widget and the documentation. Although he already sent me a patch based on the old SatMap using GnomeCanvas, we agreed that I would create a new skeleton based on GooCanvas, similar to the GtkPolarView widget. It is done now, I just have to sync it into CVS and make a new snapshot release.


I have implemented the GtkSatModule layout stuff, so it is now fully functional. I have used the GtkPaned widgets to divide the space horizontally and vertically and they work quite well. My only complaint is that one can only set the position using pixel sizes, and there is no API function to do more sensible space divisions, e.g. divinde the spoace 50/50 between the two children. I will check the Gtk bugzilla for that and raise an issue if it doesn’t already exists. for the moment I have added all sorts of hacks that calculate pixel sizes based on the container size every time the GtkSatModule is realized. It works fine except when new modules are opened/created into the already existing notebook.

Window and Fullscreen modes

I have also implemented the window and fullscreen modes for the GtkSatModule. It is very cool with only one quirk that I have to fix before a release: The various pop-up dialogs like the pass predictions use the main window as parent, and this causes the main window to come forward even when a module is in fullscreen mode. After that the fullscreen widget is quite messed up, since it will stay in the background. I will solve this by making the caller window be the parent of the predict dialogs. There is a similar issue with the Preferences dialog.

Global and Local Configuration

I have also implemented module specific settings. this has been done by simply reusing the relevant notebook pages from the Preferences dialog. finally, signs of good design are showing up during the work Smile

I will still have to start working on dynamic re-cofiguration of modules, instead of having to restart modules in order to make config changes take effect.

GooCanvas included

Gpredict now includes Damon’s GooCanvas code to avoid dependency on a not-so-common library. It is still statically linked to gpredict and no libs or headers are installed.

All in all, a lot of new cool stuff will be available in the snapshot. After that, William will start working on the GtkSatMap and I will go on fixing up things here and there. Maybe even start some sort of user manual. If development can continue as it did so far, I think we’ll have 0.6 out by the end of august 2006. Some of the thing that are on the TODO list (not necessarily 0.6) are:

  1. TLE Update. I would like this one to be relatively intelligent and not just copy replacement files. It should scan the downloaded files and copy the data into the corresponding local file.
  2. Sky at a Glance. It is intended to give a quick overview of what’s up now and the next X hours. I have already done some rough sketches but no code yet.
  3. Prediction Plots. I would like to add Polar and Az/El plots for the predicted passes.
  4. Fix bugs…

Author: Alexandru Csete

Embedded software engineer in the satcom industry during the day. Radio amateur and SDR hacker during the night.