A collection of things I have written / patched over the years that are useful to me and just may be useful to you. All I ask is that you don't bug anyone except me for support for any of these.

Note: Larger fixes have already been submitted to the original authors. Anything listed here was either too small or the original author did not respond. If you are an author of any product list here, please feel free to take the code!!

- Axel

Python client for receiving and displaying (via libNotify) caller ID msgs from a YAC server

On Windows I used the client from Jensen Harris (sunflowerhead.com) to display Caller ID information as a popup from my system tray. It can also be used to receive non-CallerID related messages too. This is a quickly thrown together python script to mimic that functionality in Linux

You can grab it here: yac.py

The "Countdown" screenlet posted at www.gnome-look.org has a serious memory leak. If you leave the screenlet running for any decent length of time it will eat up all your RAM (kinda like Vista, eh?). The problem is due to the "draw_text" method in CountdownScreenlet.py calling ctx.create_layout() every time the method is called. By creating the layout only when needed outside of that method the memory problem goes away.

You can grab it here: CountdownScreenlet-0.3.tar.gz

Cloaking email addresses on the web is mandatory these days thanks to the spam vermin out there. Joomla includes a nice content plugin that takes care of this task for you automatically. Unfortunately it also breaks form input values if they contain a pattern that appears to be an email address. The problem is caused by the "catch-all" generic search and replace the plugin does at around line 157 of /plugins/content/emailcloak.php. Here is a quick 'n dirty fix:

Find this (around line 157)

    while (preg_match($pattern, $text, $regs, PREG_OFFSET_CAPTURE)) {
        $mail = $regs[1][0];
        $replacement = JHTML::_('email.cloak', $mail, $mode);

        // Replace the found address with the js cloaked email
        $text = substr_replace($text, $replacement, $regs[1][1], strlen($mail));

.. and replace with this

    $offset = 0;
    while (preg_match($pattern, $text, $regs, PREG_OFFSET_CAPTURE, $offset)) {
        if ($regs[2][0] != '"') {
            $mail = $regs[1][0];
            $replacement = JHTML::_('email.cloak', $mail, $mode);

            // Replace the found address with the js cloaked email
            $text = substr_replace($text, $replacement, $regs[1][1], strlen($mail));

            $offset += strlen($replacement);
        } else {
            $offset = $regs[2][1];

This should keep you safe if you are using double quotes to enclose your tag attributes, i.e., <input type="text" name="email" value="This email address is being protected from spambots. You need JavaScript enabled to view it.">

My plugin for DreamKeys that provides global hotkeys for controlling WinAMP and NetAMP.

Just drop the dll into your DreamKeys install path (i.e., "C:\Program Files\Dreamkeys" ).

  • Tries to send commands to NetAMP first. If NetAMP is not running then tries WinAMP.
  • Supports all standard MP3 player controls (Play, Pause, Rewind, Forward, etc.).
  • 4 user-definable volume presets for quick volume setting. Useful when phone rings etc.

You can grab it from here: DK_AmpControl.dll

UPDATE: It looks like this product is not being supported any more. Bummer! In case their site goes down I've put a local copy here: DKSETUP.EXE

Plugin for XMMS that allows it to be controlled from remote Windows machines running the client for the WinAMP plugin NetAMP

  • Default listening port is 31337
  • Supports multiple connections
  • Fixes small annoyance with NetampClient interpreting '"' in song title as keyboard accelerator

You can grab it from here: xmms-netamp-0.2.1.tar.gz

My modified XChat 1.8.7

  • I like to use a mode prefix before nicks (i.e, <@BillyJoe> instead of just ). Mouseover a nick with mode prefix will now highlight correctly
  • When connected via a psybnc to an eggdrop bot any incoming data contained a "blank" line causing Server Messages to be printed in the main window. Added a strlen check to take care of this.

You can grab it here: xchat-1.8.7-axel.tar.gz

My config files for XChat to mimic mIRC/ircN under MS Windows(R). Just drop them into your ~/.xchat folder and startup XChat.

My modified version of the kicker applet by Flo Niebling

  • Hotkeys now available for all basic XMMS controls
  • 4 user-definable volume presets that can be mapped to hotkeys
  • Makes use of "jump to file" modification I made to Xmms (see above)
  • You can grab it from here: xmms-kde-0.6.5-axel.tar.gz

My modified Xmms 1.2.6

  • Playlist ID3 handling that more closely resembles WinAMP
  • Added "jump to file" to xmmsctrl.h for access from external prgs

You can grab it here: xmms-1.2.6-axel.tar.gz