dLux' hacks page

This page contains all my public work worth mentioning. The page contains hacks, modules, patches and they are grouped by categories. If you have further questions, comments, contact me, my email address: dlux@dlux.hu (spam-protected email address). You can check my homepage on Freshmeat.

To support the development of these software, you can donate a few bucks:

  

Go to: [ perl ], [ PalmOS ] [ QPE ], [ iPAQ ], [ Xmms ] [ Multi-Gnome Terminal ]


Perl

Class::Date This is a perl module, which provides a date and time type for perl. It has it's own homepage, where you can check the new releases and the manual: Class::Date homepage
dTemplate This is the fastest templating system in the known universe :-) This templating system is lightweight and supports the declarative programming style (check the docs for more details). It is fast, because it compiles the template once and the the compiled code is parsed by a highly optimized C code. It also has its own homepage: dTemplate homepage
Parallel::ForkManager This module is written for people who wanted to do independent tasks parallely, but wants to control how many tasks they are running. Typical usage is a mass-download. For more information, check the Parallel::ForkManager homepage
Module::Reloadable This is a module, which can be used to reload a perl module in a running perl program. You can select which modules you want to reload and you can set some conditions for reload. Check the Module::Reloadable homepage more information.
TableMap TableMap is a perl module, which is written to achieve transparent object-persistance. It supports DBI data-sources and foreign-key relations. Homepage: here.

PalmOS

EasyContacts 1.11 - dLux EasyContacts is an application, written by Ragnar Hojland Espinosa. I enhanced his latest version of this application by some things:
  • First enhancement was the usage of the inter-tap time for searching in the addressbook, and, because of this, the search is faster in large databases.
  • The second enhancement was adding a "Skip" button, which enables you to continue the search with the following word.
  • The third enhancement was adding the internationalized characters (Hungarians only) to the match-table, so you can now push "A" for finding "Á" also.
  • I have removed the "Preferences" dialog box, because I did not use it, and it was hard to make it work in the new version.
The file can be downloaded from here. Just untar and install the ".prc" file. You can see the source also in the distribution.

QPE

QPE is Qt Palmtop Environment.
QCategorySelect QCategorySelect is a category selector widget for QPE. This implementation is similar to the category selector of PocketPC. The .tgz file can be downloaded from here. Just untar to the QPE tree and apply the Makefile.patch file.
QSafeFile QSafeFile is a class derived from QFile (Qt library). It is special, because it safely saves a file, without the risk of data loss. If the file is opened for write, then it writes into a new file instead of overwriting the base file. At close-time, the new file is renamed to the old if other errors did not occure. This is basically a conceptual implementation, because it currently does not handle concurrent save, and locks could also be useful. The .tgz file can be downloaded from here. Just untar to the QPE tree and add the "qsafefile.cpp" and "qsafefile.h" to the library/library.pro.

iPAQ

I have a Compaq iPAQ 3630 handheld computer and I have made some hacks to this.
Various compiled and packaged stuffs I have compiled and packaged (to .tgz) some stuffs for the ipaq familiar 0.3 distribution. They are mostly work in the version 0.4 also, just they have no ".ipks". My ipaq homepage is here.
pimPAQ pimPAQ is a perl/Gtk/DBI based PIM environment for ipaq. It has a separate homepage: pimPAQ homepage.

Xmms

Streaming audio save to separate files

This patch is modifies the streaming mp3 saver routine to save a radio broadcast into different files based on the title information the radio send. The patch is available here: xmms-1.2.5-mpg123-http-streaming-title.patch

Lars Luthman fixed this patch, and his version does not overwrite an existing stream if the StreamTitle is sent more than once in the same track. His patch is available here: xmms-1.2.7-mpg123-http-streaming-title.patch

.
Volume normalization for xmms

This hack consists of two parts.

The first part is a perl script and a C program, which can be used to analyze peak values of mp3 files. You can download this part from here.

Usage: Build and install the C program, then set the MP3PEAKFILE environment variable to a filename where you can store the peak data, then pass mp3 filenames to the perl program (make sure that peak_search_wav and mpg123 are in the path). Make sure that the filenames you use are ABSOLUTE filenames and neither parts of them are symbolic link (this needs because of the "realpath" system call).

The second part is a patch to the xmms, which must be applied to the xmms source tree in the Input/mpg123 directory. The patch is avaialbe here: xmms/xmms-1.2.6-mpg123-outscale.patch

Usage: rebuild and install xmms (or at least libmpg123.so), set the MP3PEAKFILE environment variable and enjoy!

Note: the patch uses the "realpath" system call, which is not available on every Unix systems.

Multi-Gnome Terminal

MGT Homepage can be found here.
Background shading fix to MGT 1.3.x

This patch corrects the calculation of the background shading in MGT 1.3.x. Just see the difference before and after that.

This patch is integrated into MGT 1.4.0, but if you want to apply it to 1.3.x, you can download it from here: [ patch ]

Gaining some space

This patch is used to reduce the size of the notebook tabs by reducing the (default 2) padding to 0. This is (still) not included in the official release of MGT, so download it from here: [ for version 1.4.0 ],