I'll go through the steps I did to make my Macbook usable. All the applications that I use are(or were) free at the time of writing.
Virtual desktops with the awesome Trackpad is a killer combination but some of the default actions are not so clever. First thing to do is to make sure that your workspace switching happens by swiping four fingers right or left. This can be set from System Preferences:
This leaves three finger swipes to app specific swipe shortcuts. More from them later.
App switcher(Cmd - Tab)
First I was annoyed by the Cmd - Tab behavior, but now I'm used to it. It is actually quite good, because there's usually only a few apps open compared to ~30 open windows. I binded Cmd - § to Move focus to next window. This can be done from System Preferences under Keyboard:
In my layout § key is the key above Tab. This is bearable but the window switching should work like the app switcher. There should be a "stack" of last used windows.
Now if I want to specific window, I first switch to the app and then find the correct window of the app.
When switching to a minimized app, workspace will be switched where the window should be, but the window stays minimized. Why? I would want it to be shown(unminimized?).
Use Cmd - Hto hide windows rather than minimize.
This button is a mystery. I thought it was the maximize button, but instead it's called 'zoom'. Apparently it tries to make the window bigger somehow. It doesn't work at all. The behavior isn't consistent between applications.
After installing a bunch of apps, I want some of them to be easily accessed. Assigning some keyboard and swipe shortcuts is the way to go. To customize them, download BetterTouchTool. It handles shortcuts for Trackpad, keyboard, Magic Mouse and normal mouse.
Open its Preferences.
Change these settings to move and resize windows easily. These shortcuts don't always work as expected, but they are good enough.
Adding new shortcuts:
First click Add new gesture, then modify it to your needs. To add app specific shortcuts, find out the application's keyboard shortcut for the action. For example Chrome closes tab with Cmd - W. Then bind a gesture to that keyboard shortcut.
I have the following swipe shortcuts(Finder does not have any):
This way I can close tabs and open links to new tabs in Chrome with three finger tap.
There have been many annoyments but I can't remember them all.
Disable startup sound
Download StartNinja. It is pretty straightforward to disable the startup sound with it.
A simple hack to make SSH reconnect when connection closes. I have set SSH keys to login automatically. Add an alias for loopssh to your ~/.bash_profile: echo "alias loopssh='/path/to/loopssh.sh'" >> ~/.bash_profile source ~/.bash_profile
I have Thinkpad X220 with Xubuntu installed in it. I've been using Ubuntu for about 5 years now. I have tried different desktop environments like Gnome, KDE and Xfce. I tested Debian and Linux Mint in laptop use, but they had their problems.
Ubuntu is great but I've faced countless problems with external monitors etc.
(I wanted to try Xfce and thought that Xfce+Compiz is still lighter than Gnome+Compiz.)
I have encountered these bugs quite frequently. I code a lot and solving bugs in my own programs is enough. I want my environment to just work.
Something new had to be tried and Windows wasn't an option. I just don't like .bat, cmd.exe, C:\, and those windowsy things.
Laptop is the best choice for me because I travel a lot. So I bought 13" Macbook Air with 128GB SSD. It's light, mobile and has a decent resolution. I had also planned to test how to code an app for my iPad, so being in Apple-camp helps.
Now I'm trying to use the Macbook as my main working/coding laptop. Currently I have OS X Lion 10.7.4 installed. I don't know why I even expected anything else, but OS X needs heavy configuring to make it usable.