A Mac OS X journey

macbook_pro-1

This post is meant to chronicle my journey into exploring the Mac, and all that it stands for. 

The Mac that I’m referring to, in this case, is the desktop/laptop that Apple makes, in the form on the MacBook, the iMac, the Mac Mini. Basically, computers. And in other words, not the mobile iDevices.

Jumping in.

I bought the MacBook. But I cheated. Basically I Googled lots of information on how to automate and hotkey things in OS X. 

I’m pretty much a keyboard person, with Autohotkey and a huge customized set of key-bindings being put front-and-center on my Windows machine. I figured that not only would it be smart to maintain a similar set of hotkey bindings for my Mac experience, but it would lead to less frustration when toggling between the two platforms. 

After all, most of us (if at all) use a Mac for our personal computing, while at work it’s more likely than not Windows, or Linux, for that matter. Macs are, well, kinda expensive when it comes to corporate sensibilities.

This post is about how I configured the Mac to be sensible (in my humble opinion), and the annoyances that got in the way as I began my journey and how I resolved them to my satisfaction.

Hotkeys.

As mentioned, I work with hotkeys all day long. Firing up a browser, opening Terminal (or Command Prompt), jumping to my IM or IRC client, doing a file search — they’re all hotkeys.

To get my hotkey haven back onto the Mac, I used Alfred with the PowerPack. It’s pretty, pretty, damn amazing. And hotkey bindings are just the very tip of the iceberg. I really recommend you take a look at it. And yes, you need the PowerPack to define hotkeys.

Typing.

Typing, other than words, are filled with keyboard shortcuts. Keyboard shortcuts let you move around text effectively. 

But the keyboard shortcuts for the Mac are just so… different. It’s not that the Mac keyboard shortcuts don’t make sense. They do. But they’re just different (from Windows), and different means a learning curve. And amongst the keyboard shortcuts, those that allow you to edit text are fundamental to the computing experience. Few things (in using a computer) is more frustrating than when you cannot type.

Control-Option-Command vs. Control-Windows-Alt

The issue here is two-fold. The first is the positioning of the keys. It’s good that the Control key for both the PC and the Mac are in the same position on the keyboard. However, the Option key, which is more or less equivalent to the Alt key in Windows, is in a different position. Ditto with the Command key, which is more or less the Windows key for Windows. In fact, their positions are swapped.

However, it turned out that by and large, that swap in position is pretty good. It makes it much easier on the fingers when using the heavily relied upon Command key, since you can grab it with your very strong thumb. 

Movement: big jumps

The next issue, and a rather large issue at that, is the movement keys. I’m referring to the Home, End, Page Up, Page Down keys. Those dedicated keys (if you’re using a full-sized keyboard) means “Move the view of your document to the beginning, end, a page up, and a page down” respectively. 

And view here literally means the view, not the cursor. It’s a different paradigm. 

Basically, the view plus cursor movement that we are used to in Windows is mapped to Command arrow key. So for instance, to go to the start of the line would be Command-Left, and to go to the end would be Command-Right. Given muscle memory, this can be a tad annoying at first. But since it’s muscle memory, you get around it quite quickly.

Apparently, there is a reason for it. And it’s not an unconvincing reason. I got the following from a comment in response to another user’s gripe with regard to this issue. The comment is:

Range Selection — a primer in case some readers are not familiar with this.  Range selection allows you to select a block of data by selecting the first end of the block then shift clicking on the other end of data. Everything in between the start and the end is selected. For example, in a word processor, a sentence can be selected by clicking on the beginning of the sentence then shift clicking on the end of the sentence. This can be a bit easier than clicking and dragging to select the sentence. Range selection is generic, as are most things on a Mac. Range selection extends to larger blocks of data. For example, in a word processor, click on the beginning of a chapter, then scroll down (using Page Up and Down) and click on the end of the chapter to select the entire chapter. This can be a lot easier and more efficient than clicking and dragging to select a large block of data like a chapter. The Windows scrolling that you are familiar with, breaks range selection because it moves the cursor when it scrolls. The only way for range selection to extend generically to large blocks of data, is for scrolling to change the view, but not change the position of the cursor. Because range selection is broken on Windows, selecting a block of data requires a click and drag down the window. For large blocks of data, it forces the user to click at the beginning of the data, then drag down to select the whole block of data. The Windows scrolling behavior causes the selection of large blocks of data to be both tiring and time consuming. The behavior that you dislike is an example of how Microsoft copied obvious Mac functionality, but missed the subtlety of function that makes a Mac consistent and understandable.  These little subtle details are what makes a Mac a Mac, what differentiates a Mac from Windows. These details are the soul of a Mac. (text in bold are mine)

Comment bias (or not) aside, it’s interesting and good to know the rationale for this design decision. Though to be honest I don’t see it as being superior. It’s just, again, different.

Movement: by words and paragraphs.

Similarly, what used to be move-by-word in Windows, such as Control-Left to move back a word, is now replaced by the Option key, as in Option-Left.

To move by paragraph, use Option-Up and Option-Down.

Deleting text.

Backspace is still backspace. Thankfully. Other than that Backspace is called Delete. More or less.

But unless you’re on a full-sized keyboard, your laptop keyboard has no Delete key (as in the “Delete” key in the PC world), just like it has no Home, End, Page Up and Page Down keys. 

So to forward delete (delete the character in front of the cursor), you need to use fn-Delete.

Deleting files.

And since the Backspace key (or Delete key in Mac parlance) serves as a real delete key, you use that key to perform actions that delete stuff. Like, deleting a file. 

In that vein:

  • Delete a file: Command-Delete
  • To clear the Trash Can (Recycle Bin), you hit Command-Shift-Delete.

Moving windows around.

The Mac is very track pad (or mouse) driven. To the point that sometimes it’s annoying. Even more so, there’s one very big gripe that I have with it: The maximize and restore behaviour.

Resizing and moving windows

To fix this, I’m use the free Slate, which is an incredibly powerful window manager. 

It’s a bit geeky, in that you need to configure it, and configuration is not GUI-based. But don’t let that bother you. There’s plenty of configurations that you can pull off the Internet to get started real quick.

Anyway, basically when slate is properly configured, it will allow you to perform any form of window management operation (show, hide, minimize, move, resize, change focus, etc.) using just the keyboard. 

It’s incredibly efficient.

Hiding and minimizing windows Mac has two concepts of making windows disappear: hiding, and minimizing.

Here’s the shortcuts:

  • Hide: Command-H
  • Minimize: Command-M

Neither of them are directly similar to the Windows concept of minimizing. 

Hiding

At a crude level, hiding acts on the application. For instance, if you have 3 Chrome windows open, and you’re active on one of them, and you hide it (Command-H), you will hide all windows of Chrome.

Getting them back is pretty simple, you can just use the application switcher (Command-Tab).

Minimizing

Minimizing acts on the window itself, meaning all other windows of that application are still visible. However, there is no keyboard-centric way (as of now) to get back the minimized application. 

You’ll need to use the mouse and click on the minimized-window icon on the right side of the dock. Demanding the use of the mouse is, in my humble opinion, dictatorial and annoying.

Jumping to a folder.

Windows has Explorer, and Mac has Finder. The big issue for me is that in Windows I can just type (or paste) a path directly into the Location bar of Explorer. In Finder, I can just about find no visible way to do that.

If you type in a path in the search bar, it refuses to recognize it as a path.

So here it is: Hit Command-Shift-G to bring up the “Enter Path” window.

Locking your computer.

Your Mac (MacBook) thinks of sleeping and locking as being part-and-parcel of each other (presuming that you enable the setting in System Preferences > Security). This is annoying, because I want the MacBook to manage itself to conserve battery, but I don’t necessarily want it to lock once it pops into power saving mode.

Consider the following (very common) use case. You’re in a meeting, or conference, or lecture, and you’re taking notes. So you type something. Then you stop to listen to the speaker for a couple of minutes, during which your MacBook decides to go into one of its power saving modes. Then the speaker says something you want to jot down. You try to wake your MacBook up, intending to immediately type that note. You are greeted with a lock screen and you have to enter your (hopefully long and secure) password.

The alternative is to disable the lock, which leaves your MacBook (especially since it’s a portable) unsecured.

Solution:

I found a good compromise. Using an application such as Alfred (or you could write a script for it), you can force your MacBook to lock. In Alfred, that’s “Lock”, quite literally. Here’s a link for that: Alfred 2 Locking Functionality.

Using that, you can disable the lock (require password) when sleeping or screen saver.

But you need to remember to explicitly lock your MacBook before you, say, close the lid. In other words, the responsibility of locking is now left to you.

Not the absolute best solution, but a good compromise until Apple gets this right.

Searching For Text.

Searching is mapped, in most applications, to Command-F. Pretty conventional. However, us Windows users are used to having find-next and find-previous mapped to F3 and Shift-F3, most of the time at least.

This mapping is different for Macs. It’s usually Command-G and Command-Shift-G.

Conclusion.

As mentioned, this article is intended to grow as I move through this journey. 

Hope someone enjoyed this. And enjoy your Mac!