jquery

gist JS

Monday, March 10, 2008

Mac Leopard OS X, Windows Convert: Color Terminal, Fixing Spaces, Home & End Keys, Mouse

As a new Mac convert, I was pretty excited to get my hands on Leopard. In general it's been lovely, though I can't say there weren't a couple rough edges on the way to mac nirvana. I've chronicled the things I needed to do to get my mac working the way I wanted it to.


Better Terminal


The first thing any self respecting programmer comme mac user will do with a new leopard box is, of course, to drop into the terminal and setup my shell. Bash is fine with me, so here's my ~/.bash_profile

#better prompt
PS1='[\u@\h \W]\$ '
#better prompt for sudo
SUDO_PS1='[\u@\h \W]\$ '
alias ll='ls -l'
alias emcas=emacs
alias ss='ssh -l username site.com'
#easy copy
alias sc='scp $1 username@site.com:/var/tmp/ '

#Color for mac leopard bash terminal
export CLICOLOR=1
export TERM=xterm-color
alias pstart='sudo -u postgres postmaster -D /usr/local/pgsql/data'




Fixing Leopard Spaces


Ok, spaces is allright, but by default I'm getting whiplash. Any little popup window can make the space switch, which means that a gmail calendar alert will take away the focus from your window and you'll end up typing into a void. blech. I'm not the only one to have notice this thankfully. All you need is the following in the terminal.

defaults write com.apple.dock workspaces-auto-swoosh -bool NO

I also did:
defaults write com.apple.dock workspaces-wrap-arrows -bool NO
which stopped letting spaces wrap around and seems infinitely more sane.

Thanks be to:
http://www.macosxhints.com/article.php
http://blogs.sun.com/bblfish/entry/why_apple_spaces_is_broken

Still Not Perfect


Spaces and command-tab are now essentially useless however. Command-tab has no idea what apps are in the current space. This isn't ideal, but worth it for me since I think expose is close to being as fast. Sadly, clicking on an icon on the dock is now insufficient to switch your space.

OK, here's a 1/2 solution. A cool little utility called Witch gives me command tabbing between applications within a single space. Excellent! Mapping it to option-tab seems like a decent compromise. That way you can get quicksilver on ctrl-tab, witch on option-tab and regular old tab switcher on cmd-tab.
http://www.manytricks.com/witch/

function keys without 'fn'

Keyboard and mouse settings, use function keys without fn is a must have as well.
Now f8 for spaces and f9, f10,f11 for expose work great. plus f5,f3,f2 (refresh, go to type declaration, rename) work in eclipse. Much better.



Quicksilver


Quicksilver is the hotness. You know you want it.
http://www.youtube.com/watch?v=EBvFUhTqKK4

Subversion visualization in OS X ie TortoiseSVN for Mac


OK, I've tried http://scplugin.tigris.org/ but I've been pretty meh about it so far. Not sure what's going on, but icons only appears sometimes. And it's total hidden in the "more" menu. This needs work.


Cyberduck
Seems to do the trick for FTP

Keyboard Home & End


First, I think something needs to be done to get my windows keyboard on board. Ah yes, switching option and command in the keyboard modifiers screen is much better. Otherwise my fingers can't cope switching between pc & mac keyboards.

But the real joy is getting the darn Home & End keys to work. I can't believe anyone thinks the default behavior is useful. Home flings me to the top of the page? Blech blech blech. Can someone explain this to me? Happily there's help to be had, but you need to do things pretty piecemeal. Once for Firefox, once for OSX and then seemingly infinitely depending on how many other apps you use that do their own keyboard bindings (ie Eclipse)

http://www.starryhope.com/tech/2007/keyfixer-firefox-version/
http://www.starryhope.com/tech/apple/2006/keyfixer/

Of course for Eclipse you still need to erase the bindings for 'text end' and add bindings for 'line end'. Sigh.
oh and modify the bindings for 'select text end/start' to be shift page up/down and modify 'select line start/end' to be shift-home/end. phew... finally.

Finally to get home/end in terminal you need to do Terminal Preferences and then set Home and End to 'Send signal to terminal' then do ctrl-A and ctrl-E respectively.  I'm sure the Mac-guy ads will detail this procedure soon. What could be simpler?

Now if I could just cut and paste files in Finder... I'm sorry, but drag n' drop is in no way faster than cut n' paste.

Mouse


Now coming back to my old home setup, my normal mouse is waaay too slow. Installing MouseZoom 2.2. solves this... kinda. Restarting works even better. Grumble. I still feel like using a mouse on this machine is unbelievably imprecise.

Well, there's my story. Hopefully this compendium of hard googled forum postings will save you some time.