He paid $15 to hide icons from System Tray, the reason will shock you

Introduction

After 20 years of C# development and using my favourite Windows apps I came to work to a shiny new MacBook Pro. Now what?

The fear of the unknown

How do I maximize a window?!

For anyone coming from Windows 7, window management on a Mac feels extremely outdated. There is no built-in way to move windows between monitors, snap them to a side or even… A proper shortcut to maximize a window.

To handle the actual moving, resizing and snapping issue, I’ve installed ShiftIt — It is free, open-source and can do all the aforementioned actions.

Another useful application is Snap, that allows you to launch/focus on an application in the dock by a ⌘+Number — Similar to the way we use Win+Number in Windows.

Accelerated menu bar accelerators

While the Mac is very keyboard friendly, I was quite shocked to notice there are no Menu accelerators anywhere so you can’t press Alt+f to browse the file menu. So wait… Do I have to reach for the mouse every time I need something from the menu?

Fear not. OS X applications have a very powerful menu search feature hidden under the Help menu. Simply press ⌘+Shift+/ and type the functions you’re looking for. Besides allowing you to search and execute the menu blazingly fast, it also opens the menu and shows you the exact location of the found menu item and its direct shortcut.

Automating hotkeys

I was an avid user of AutoHotkey in Windows — It allowed me to quickly create macros, auto-close popups and create new shortcut keys for apps.

For the Mac, I was very happy to discover Keyboard Maestro ($36) which is just as powerful but a lot easier to use. Some examples of what you can do with it:

Application specific macros — These shortcuts will not be available anywhere except the target application. For example: a shortcut to copy a path in Finder . You can even make shortcuts to console applications, e.g. a shortcut that will work only in Midnight Commander .

These shortcuts will not be available anywhere except the target application. For example: a shortcut to copy a path in . You can even make shortcuts to console applications, e.g. a shortcut that will work only in Global macros — Assign a global key to show an application.

Floating menus — You don’t even have to remember shortcuts. You can create floating menus that appear once you’re in an application. For example, here is a menu that appears once I open tig:

If you enjoy creating shortcuts, you can take it to the next level by defining a HyperKey — A super key that replaces the CapsLock and allows you to define any shortcut you want without fear of conflicting with existing shortcuts.

Launching applications and managing the clipboard

On Windows launching an application is easy — Just open the start menu and start typing. On Mac, you can achieve the same with Spotlight (⌘-Space).

Unlike Windows, however, the launcher acts also as smart-alt-tab — If you’re launching Eclipse and it is already open, however, it will be simply brought to the front.

However, even though Spotlight is good enough, I’ve opted to use Alfred (freemium/$23) — It is slightly faster and a lot more customize-able. However, the one true reason I’m sticking with Alfred is its built-in clipboard manager (for which you’d have to pay).

On Windows I used the excellent Ditto and I was sorry to let it go. However, Alfred’s clipboard manager proved to be superior. It is blazingly fast, supports images, files, clipboard merging and a lot more.

What day is it?

The menu bar in OS X, replaces the taskbar and the tray bar, and it resides at the top and unfortunately it got quite a few weaknesses. To begin with, there is no date in the menu bar. This can be solved (and even improved) by the excellent and free ItsyCal. Beyond showing the date in the menu bar, it would even sync with your Calendar and show the upcoming agenda.

Easy agenda

Another issue of the menu bar, especially after installing all the aforementioned apps, it that it has no “auto-hide” section — Every menu icon is showing, which can lead to quite an absurd length of icons in the menu bar. Even worse, these icons can’t be moved or sorted.

The application that can fix there is the excellent Bartender 2 ($15). While it might seem absurd for a Windows user to pay cash for such a basic feature. In the world of OS X, it is worth every dollar.

Excellent native applications

I’ve mentioned several shortcomings of OS X and the fact you actually need to pay to overcome some of them. However, it also comes with some amazing applications.

Among the most surprising ones is the horribly name Preview. While it indeed can be used to preview images, it can also take screenshots, manipulate images, add text and shapes, and much more. Beyond that it is a very powerful PDF editor — You can annotate PDFs, digitally sign them, rotate, delete and reorder pages and probably, again, much more than I’ve discovered.

Another amazing app on the Mac, and universally hated in Windows, is QuickTime Player. Again, despite the poor name, it does a lot more than play. It can also trim, merge and perform basic timeline functionality for both video and audio. It can also rotate and flip video files and then re-encode (save) them. It can even act as an audio, video and screencast recorder for the desktop, iPhone and iPad!

Finding everything

Another important aspect for me in Windows was the ability to search files. I used Everything to search for files and Total Commander to search the files’ content.

I tried several applications on OS X and eventually settled on Find Any File to find files. It is amazingly quick and can find a file on the whole hard drive in less than 10 seconds but unfortunately, it doesn’t search inside files.

For that I use the open-source Silver Searcher. Besides the cool name it is super performant and can search the content of hundreds of files almost instantly. It is a console application, however, so it might not be for everyone.

Physical pain

Most developers in my company that use a MacBook in the office, use it directly — They keep the laptop’s lid open and use it as their main (or secondary) screen. They also use the built-in keyboard/touchpad instead of a USB keyboard and mouse.

Following their example I tried doing the same. The touchpad is indeed as good as they come, the keyboard is pleasant and responsive and yet… I am used to my ergonomic Microsoft keyboard and I felt awkward programming on a laptop in the office, with my hands cramped.

To make matters worse, Mac keyboard combinations are quite different than Windows’ and that forced my fingers to be in positioned in an unusual way. So, after working like that for a day, RSI pains hit me.

So I realized this way of working isn’t for me. Instead I got two proper 24" monitors, my favorite Microsoft keyboard, a regular mouse and plugged it in. Within another half a day my RSI pains were gone.

This is what it feels like with external monitors

Another minor thing that annoyed me was the lack of a proper docking station. I’m used to plugging my laptop in with a shove and now I had to plug 3 USB cables, 1 charger and 2 monitors every time. To alleviate that I bought a simple USB hub, while not a perfect solution it did reduce the amount of USB plugs I needed to connect.

Windows keyboard in a strange place

Microsoft Keyboard provides several advantages over the native MacBook Pro keyboard — It has a delete key, page up/page down keys but… The

⌘ (Cmd) button is now in the wrong place.

To fix that, I downloaded Karabiner, which is an application with an absurd amount of keyboard tweaks. With it, I easily replaced the keys to be in the following order: Ctrl, Alt, Win/Cmd same as it is on the MacBook keyboard.

While I was using Karabiner, I also replaced the weird ±/§ button, in MacBook keyboard, above the tab, with a proper backtick (`)/tilde (~).

Why?

Finale

I hope you find this collection of applications and tips useful. If you have further questions on related topics, I will be happy to reply.

One part I haven’t covered in this too-long overview is the terminal, which is among the primary reasons I wanted to switch to Mac. Hopefully, I will get to it in the next article.