Wednesday, November 7, 2007

Use that computer!

If you're like me, you don't like Windows XP's start menu. You might like the pinning and the recently used programs section, but you despise the popout hierarchical menus. You also dislike the desktop, and find it more or less useless, much like Coding Horror says. I also wouldn't be surprised to hear that you really don't like the task bar, and find it so cluttered that you obsessively open and close all your windows all day long so that you never have more than 3 or 4 open at the same time.

This is where you may start to be a little less like me. I have searched for alternative UIs for launching programs and managing currently open programs for years. The list of things I have tried includes: Ashton Shell Replacement (win), KDE (linux), GNOME (linux), Enlightenment (linux), IceWM (linux), Xfce (linux), Fluxbox (linux), Symphony OS (linux), Rocket dock (win), Top Desk (win). At some point or another, for some reason or another, I gave up on all of those.

Here's my current setup: Launchy for launching programs and Task Switch XP for switching between running programs.


Task Switch XP:

Launchy runs in the background and is called forward with a configurable keyboard shortcut. I bind mine to alt + q. To use it you just type the name of whatever program you want to run. If that program is buried somewhere in your start menu, launchy will find it. The best part about launchy is that it learns. So if you have 4 programs that start with the letter "f," the first time you type f you'll see all 4 programs in the drop down. If you go ahead and type more letters so that it narrows the selection, "fire", it will select firefox and you can hit enter to launch the program. Next time you type "f", firefox will be the default suggestion.

Mine has trained itself so that this is all I need to type now:
f -> firefox
th -> thunderbird
v -> visual studio
wo -> microsoft word
ie -> internet explorer
sq -> sql management studio
gv -> gvim
cmd -> command line
not -> notepad
tom -> tomboy

The best part of that is that you're not memorizing some weird keyboard shortcut, you're just typing the name of the program you want, and boom, it figures out what you mean before you've even finished typing the full name.

Task Switch XP binds itself to alt + tab by default. It displays your running programs in a vertical list (must nicer than the horizontal list of the task bar) and includes screenshots of each program (much like tweak UI). However, where Task Switch XP sets itself apart is its "sticky" mode (in the configuration utility go to Hotkeys and check "Enable Alt-Tab 'sticky' mode"). With this turned on the window wont close when you release the "alt" key. This means you can call the window forward with alt + tab, then use the arrow keys, or the up/down keys, or the mouse, or the scroll wheel to select the program you want. I even have a button on my mouse configured to bring the dialog forward so I can switch windows without even using the keyboard. This is great because this dialog can support many more open windows before it starts to become cluttered than the Task Bar can.

So Launchy replaces the start menu and Task Switch XP replaces the task bar... As such, I've now configured my task bar to auto-hide.

The only thing I don't have here is the ability to type the name of a currently running program in Task Switch XP and have it filter down the list for me. I'd love to be able to do: "alt+tab fire" and have only firefox windows in the list, but Task Switch XP doesn't have this feature. I have written a program that will do this, but I haven't finished making it pretty yet. Alternatively, I may pull down the Task Switch XP source code and see if I could add the feature I want to it.

Do you use any interesting application management utilities?


  1. i use launchy on ocassion at work. Its actually based on a similar application called Quicksilver on OSX which i use religiously. Having used it so much i had to find a version for windows and came across launchy.

    The main differences between the apps are that launchy is only an app launcher (albiet a good one). Quicksilver is both an app launcher and an automation tool. You can set up triggers which can be bound to keywords or keyboard shortcuts do perform different actions. For example i can hit option+space and type "te" to open text mate or i can hit cmd+opt+t. I even have it bound so cmd+opt+c opens it to my "Chicago" project i havent worked on enough lately.

    My hope is they come up with a way to support multiple actions with one keystroke (which may be there and i dont know) and tie it into the new OSX Spaces (virtual desktop) stuff so i can hit a keystroke and have it open all the apps i use for development on say desktop 2.

    I also have itunes controls for prev, next, pause/play, and shuffle bound to cmd+opt+left, right, up, and s respectively.

    At work i actually started using another approach i found in the lifehacker book before i found launchy and it has "stuck" more than launchy. I create a series of shortcuts to common applications in a folder called shortcuts then copied it into a folder in my path. So i can hit win+r to open run and type any of the following -

    "em" - enterprise manager
    "qa" - query analyzer
    "ln" - lotus notes
    "vs" - visual studio
    "vs2k5" - VS 2005

  2. Yeah, I forgot to mention that it was based on Quicksilver, my bad. In fact, I was even going to ask if that was still included in OS X because I hadn't heard about it in a long time.

    Interestingly, what you're doing with your shortcuts folder is basically what boxvue was, only minus the GUI. Only downside there is you have to maintain it.