OS X: Day 1

Feb 07, 2009 12:04

OS X is really very pretty. Apple's stuff has a cohesion that GNOME and KDE generally lack, each possibly due to the existence of the other.

After fixing up the Terminal.app options (the 10.5.6 settings dialog makes rather more sense than previous versions), I set up Spaces. As an avid xmonad user, I'm trying to make OS X behave in a vaguely similar manner. So, three tiled terminals on Space 1, Firefox on Space 2, etc. Unfortunately the ⌘- keys are used in Terminal.app for selecting window 1,2,etc., but I'm used to the xmonad-style mod- = workspaces. So for now, no window selection by number in Terminal. Terminal.app also has a feature called 'window groups', which appears to be able to save some window configuration and have it loaded at will. In particular, at startup. So when I open Terminal.app now, I get my xmonad-y 3-window tile. Yay. If only I could work out how to hide the scrollbar.

OS X's default keybindings are pretty different to what I'm used to. The most annoying one is that Home and End seem never to work. After that, it's Alt-arrows to move forward and back by words; I'm used to Ctrl-arrows. And I keep on expecting select/middle-click to be copy and paste, but no, I have to use ⌘C and ⌘V like a normal person. Some of these things are fixable in the terminal, but I'd really like to fix the behaviour elsewhere as well. Oh, one marked improvement over Firefox in Linux: Ctrl-W deletes words! In fact, ^W works in most text boxes. That's a reflex I'll have to un-untrain myself from, after years of accidentally closing tabs and swearing. Missing: a keyboard shortcut to open a new terminal and focus it.

AppleScript is pretty awesome. It's kind of like an Apple version of DBUS, only with a little scripting language built in. I found a way to open a new terminal window using AppleScript, after a little googling:

tell application "Terminal"
do script ""
activate
end tell

The 'activate' has to be before the 'do script', otherwise it'll switch to a space with an already-opened terminal and then open a new window. This way it creates a new window and focuses it. Now I just need a way to bind that to a key.

So Quicksilver's pretty neat. The initial configuration wizard thingumy has some neat visual effects; ooo shiny etc. Then it asks me what plugins I want to install and I check a few of them. The wizard didn't like that, so it decided to hang until I pressed 'cancel', went back and installed them one by one. I played around a bit and then it crashed once or twice, cool. Eventually I reset the preferences to default and manually installed the plugins instead of selecting them during initial configuration, and then finally the iTunes notification stuff started working.

Quicksilver is a meta-program; a program for launching other programs and doing things to them. You hit the Quicksilver button (I have mine bound to Ctrl, so a quick press opens it) and start typing whatever it is you want to do. Typing 'fir' comes up with Firefox. The default action on an application is to open the application, so you press enter and it does. Cool, but that's just tab completion, right? Yes and no. For one, you get eye candy while you tab complete. Also, applications aren't the only thing you can complete. For example, the iTunes plugin has a 'next song' action, so tapping the Quicksilver shortcut and typing 'nex' goes to the next song. Or maybe it doesn't, but Quicksilver learns -- the first time, you might have to type 'next s' to get it not to try opening a text file called 'next actions.txt' in your home directory. As you use 'next song' more often than you want to open 'next actions.txt', you'll soon be able to type just 'nex' to get it, and then just 'n'. Whatever you use most is the easiest to access.

Quicksilver does a bunch of other stuff too (browsing playlists/music library, searching documentation, searching firefox bookmarks, etc etc) but most importantly for me at the moment, it can bind Quicksilver actions to specific shortcut keys. Hello, ⌘⇧Enter for Terminal window!

To do:
  • fix vim so syntax highlighting doesn't make the text BLINK
  • investigate non-terminal text editors; textmate and whatever Cocoa vim port exists
  • work out whether or not the scrollbar is hideable in Terminal.app; it seems like it was once possible if not still
  • check out Adium
  • install debian and get vmware fusion to run a VM from a partition

Tomorrow, an entry about development tools.

quicksilver, osx

Previous post Next post
Up