Sunday, July 30, 2006

PaintIt v1.1

PaintIt has had a little makeover
ok version 1.1. This version sees some bug fixes, some optimisation, some new functionality and some experimental new flexibility with regard to painting styles. So go check out version 1.1 at

Sunday, July 23, 2006


If you like Slickrun you'll probably love AutoHotkey
AutoHotkey is, as Carl Franklin might say, "The coolest thing I've downloaded recently".

It's essentially exactly what it's name implies. It's a program that sits in background and waits for you to hit any of the 'hotkeys' that it recognises. The 'Hooks' that it uses to detect these hotkeys are global, which means that they will be detected no matter which program has the foreground at any given moment.

So Notepad, Word, Gmail, Blogger.... anything is fair game.

The key to this particular implementation is that the hotkeys are defined by you the user, via a small script ini file. (The default such file is AutoHotkey.ini which is a complete misnomer as the content is not laid out like a standard ini file at all.)

In this file you nominate the basic keystroke combination that you require and then follow this by the command or commands that you require of the hotkey.

A simple command might be

#n:: Run Notepad

(The # is a symbol which in this case means the Windows key. Hence in this case Windows-N will launch notepad)

But this is but a trifle to AutoHotkey.

More useful is to detect if you already have a copy of Notepad open

IfWinExist Untitled - Notepad
Run Notepad

Further the system is capable of triggering template expansions in response to 'hotstrings'.

For example...

Find my blog @
Find my plugins @

....allows me to enter my signature into either gmail or any other email program or document simply by typing 'sig' and then hitting space.

Great stuff.

There is of course a lot more that it can do besides launch notepad.

I will now quote the introduction on it's homepage

AutoHotkey is a free, open-source utility for Windows. With it, you can:

* Automate almost anything by sending keystrokes and mouse clicks. You can write a mouse or keyboard macro by hand or use the macro recorder.
* Create hotkeys for keyboard, joystick, and mouse. Virtually any key, button, or combination can become a hotkey.
* Expand abbreviations as you type them. For example, typing "btw" can automatically produce "by the way".
* Create custom data entry forms, user interfaces, and menu bars. See GUI for details.
* Remap keys and buttons on your keyboard, joystick, and mouse.
* Respond to signals from hand-held remote controls via the WinLIRC client script.
* Run existing AutoIt v2 scripts and enhance them with new capabilities.
* Convert any script into an EXE file that can be run on computers that don't have AutoHotkey installed.

A complete list of commands is available here and the main documentation here

**It should be noted that I do not feel that I would prefer to use this program over coderush itself. there are many things that coderush can do for which it requires prior understanding of the code within your editor and I do not feel that this is the case with AutoHotkey. (Coderush is simply the closest thing I know to this facility)**

Autohotkeys could be likened to Slickrun with the saving grace that it does not have a permanent on screen interface.

Oh yeah... did I mention that this software is both freeware and open source

Again ... Great stuff

PaintIt has arrived

Yup the first iteration of PaintIt is here. The basic functionaliy is in place and there's more to come.
The first iteration of PaintIt is here. With it comes a minor change to the plugins page.

I will now be publishing an official version number and release date so that will know just when a pluginis different from a previous iteration that you might already have downloaded. So in this case version 1.0 of PaintIt is published exactly 1 month after my last plugin update. Unforgivable isn't it.

Anyway... back to PaintIt.
This plugin is an amalgamation of the previously released ColorCodeVars and HighlightCurrentVars enhanced to work with methods aswell as variables.

Essentially this means that you can pick the color that you would like Public, Protected, Protected Internal, Internal and Private Methods and Variables to be displayed in.
In addition seperate colors can be specified for Local, ParamIn, OParamOut, ParamRef and ParamArray variables.

Finally these colors can be overridden to allow the notion of a Current variable or method and all references to it be drawn in yet another differing color. This time allowing also the specification of a back color.

Some suggest that these measures might create a level of chaos within your code, Others sugest that this might help create a level of clarity. It all depends which way you think.

Either way I hope that this serves some as a useful tool and others as a possible example of how to create such tools.

Source Code is available as always :)