====== Tools ======
Some essential utilities I want to be able to find again or recommend to friends.
===== Notifu =====
Win32 utility to create pop-up balloons from a command line. Essential for scripting!
{{http://www.paralint.com/projects/notifu/screen_shot_01.png|Screenshot of Notifu showing a Balloon notification}}
Website: [[http://www.paralint.com/projects/notifu/]]
===== SendMsg =====
Win32 utility to send windows messages to applications, allowing you to simulate button presses etc from a command line. You need to use a tool like Spy++ to capture the messages you want to replay.
Website: [[http://www.maxoutput.com/SendMsg.html]]
====== Win32 Fix-ups ======
When you rebuild a machine, there are a number of things you always need to do to get it feeling right - such as changing file associations etc. Well now and again I find a nifty trick to do something properly or automatically, and these are listed below.
===== Uninstall ancient MSN Messenger =====
Just run this command: !!''RunDLL32.EXE advpack.dll,LaunchINFSection %windir%\INF\msmsgs.inf,BLC.Remove''!!
===== Uninstall Windows Picture and Fax Viewer =====
This 'feature' is just plain annoying, because the default shell action is "Preview" when it blatently ought to be "Open". This means that even if you install a decent picture viewer, it won't take effect. But you can remove this annoyance with:
!!''regsvr32 /u /c shimgvw.dll''!!
**NB:** This also removes the ability to show thumbnails (mini-thumbnails on a folder icon do still appear to work though, but that might be cached)
===== Firefox Magic =====
==== GreaseMonkey ====
=== Convert Javascript links to ordinary links ===
I hate websites which use ''href='javascript:window.document.href='...''' in their ''..'' tags when an ordinary link would do! You can't middle-click JS links into new tabs!
Here's a script which fixed this for me:
// ==UserScript==
// @name Rewrite JS URLs to ordinary URLs
// @namespace myscripts
// @include http://www.example.com/silly_web_2.0/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js
// ==/UserScript==
$(document).ready(function() {
$("a[href]")
.each(function(index, domElement){
var jObj = $(this)
var rHref = jObj.attr("href");
if( rHref.match(/^javascript:window.document.location='[^']*'$/) ) {
rHref = rHref.replace(/^javascript:window.document.location='/, "");
rHref = rHref.replace(/'$/, "");
jObj.attr("href", rHref);
}
})
;
});
You need to replace @include to match the URLs you want the script applied to, and you probably want to change the namespace to better suite your personal organisation of greasemonkey scripts.