To make the use of my computer screen space, I move windows to the edge of the screen. That way there's no wasted space between the edge of the window and the edge of the screen. In Windows, I use The Wonderful Icon for this. In Linux, I used the Sawfish window manager (but I see no way to do this in Metacity, the preferred GNOME window manager). In Mac OS X, I've been manually moving windows around. Today I found Spooky, a set of scripts that let you move and resize windows to the screen edge.
Spooky isn't user friendly. It's a set of scripts that you have to modify. Here's what I did:
- Put Spooky into a folder.
- Turn on “access” for universal devices (see the Spooky readme).
- Edit the Spooky starter script to fix what appears to be a script error. I changed
do shell script ("defaults write net.doernte.spooky \"pathToSpooky\" " & spookyFile)
do shell script ("defaults write net.doernte.spooky pathToSpooky \"" & spookyFile & "\"")
- Copy the Spooky starter script to one script for each action (see the Spooky readme):
for action in maximize centerWindow growWindow shrinkWindow maxBottomLeft maxBottomRight maxBottom maxLeft maxRight maxTopLeft maxTopRight maxTop moveBottomLeft moveBottomRight moveBottom moveLeft moveRight moveTopLeft moveTopRight moveTop zoomWindow; do cp spooky\ starter.scpt spooky.$action.scpt; done
- I then had to edit each of these scripts in Script Editor, uncommenting out the line corresponding to the action for that script. In
spooky.moveTop.scptfor example I uncommented out
spooky("moveTop"). I would've liked to automate this using perl, but Applescripts are stored in some binary format (why?!).
- Finally, I assigned hotkeys to run the scripts using Quicksilver's custom triggers. This was quite a pain, as Quicksilver didn't pick up these applications, so I had to drag each action manually into a custom trigger. I gave them the keybindings suggested in the Spooky readme.
Although setting things up was more of a pain than I'm used to, now that they're set up, I'm much happier. For my browser, which I want on the right side of the screen, I use Ctrl-Right, Ctrl-Shift-Down, Ctrl-Shift-Up to position and size it. For my work window (usually Emacs), the sequence is similar except I start with Ctrl-Left. I'm much happier having windows go to the edge of the screen; now I don't have to precisely position and size them with the mouse.
Update: [2014-07-03] I haven't used Spooky for quite a while. I now use BetterTouchTool and Alfred. But if you're looking for something programmable like Spooky, look at Hydra.