dvbszap-combo-applet

The dvbszap-combo-applet is a port of the corresponding
DvbSZap Python Applet. Atleast it is not vulnerable to a
"killall python" call. The actual reasoning was that I had
some problems with controlling the child processes (I was
simply grepping a "ps" output in the python variant). The
latest version even reacts to the mouse scroll buttons
while hovering over the combobox channel list.

Actually, any real functionality should be obvious. The
problem is only about the option files. The option file
is named ".szap/options" and it has a simple line based
format. Mine looks like this:

The reason for viewer_prog / tuner_prog dates back to
the python applet which was "grepping" the site-wide
process list for these items. In the pure C variant
the viewer_prog/viewer_args are just combined and used
as the command line. However, I still want to keep
compatibility with the pygtk applet.

That leaves us with the channelfiles. Actually you are
allowed to have a number of channel files. The reason
is just the difference between an "autogenerated"
channel.conf file as coming out of "dvbscan" and some
manually edited channelfiles. At first I was using a
subset of the generated files with the major channels
being given its own entry. That "major channels" was
listed as the first channelfile - so that they would
be set effectivly at the top of the combobox select list.

However, if a channel would move its transponder frequencies
then one would need to re-edit the "majors" channels.conf. So
instead I came up with the idea of creating a channels.alias
file. The applet will see that alias name and resolve the
real "szap" channel - only that real channel is handed down
as a name to the "szap" call in the background. My channels.alias
file (for Astra) looks like this:

If you wonder why there are three buttons aside of the combobox
channel selector: the left "Close" button will kill all children
taks before leaving itself. That was very needed in the python
variant atleast. The right "Kill" button will kill all "szap"
tasks around - based on the observation that there were a lot
of zombies around while playing with the applet. The middle
button goes to the settings screen. Actually, these buttons
can now be collapsed to a popup menu but it was nice to have
them directly at hand while debugging the python problems.