Why did I switch to Arch Linux

I installed Arch Linux on my macbook during the final exam week. :)

And here is why I decided to do this.

Why not use OS X anymore?

OS X is a great operating system. And I really appreaciate it for leading me into the UNIX world in the last one and a half years. But it's just not for me anymore. The reasons are listed below:

Emacs for OS X is much slower than Emacs for Linux.

I did some tests in a virtual machine before I repartition my disk. And I just found that even in a virtual machine, whose performance is worse for sure, Emacs runs better than on OS X. Scrolling is smoother, magit responds much faster, everything just works faster.

i3 - the tiling window manager

The main point of these needs (tiling window manager and fullscreen app) is to make the best use of my little 13 inch screen.

There is no perfect window manager on OS X. I've tried almost every window manager for OS X. But none of them can make me completely comfortable. Though I have to admit that I haven't used any kind of window manager until I started using OS X, my eager for a better tiling window manager grows day by day.

  1. Window size control

    Due to the control of Apple to it's OS's desktop environment. There are few things we can do to control our windows except using some poor assistant APIs to resize or move windows. You can even see the window resize animations showed in several steps. So the performance is not good too. And some apps, Wechat for example, have a minimal window size constraint, so it can't be "tiled" into a container. It's definitely a pain to watch it to be resized into a size you want it to be but struggle back in the next second.

  2. Switch between windows

    Another constraint is I can hardly use only my keyboard to move between different windows in the same space. Some window manager apps on OS X can let me to do this using keyboard shortcuts, but I can hardly switch to Wechat (Yeah, Wechat, you again) or some other apps successfully due to its special implementation of app window. I need to use spotlight or other keyboard shortcuts (binded using Karabiner) to switch to it. So I have three different ways to switch between apps, and it's even too confusing for me sometimes.

  3. Switch between spaces

    The last constraint of OS X's desktop environment is the differentiation between Spaces and Full Screen Apps. I can use some shortcuts to switch between different spaces, but I can't switch to a fullscreen app. For example I can switch to Space 1 using C-1, but if I have a fullscreen Chrome window after space 2, I can't switch to it using C-3. This feature can be done using TotalSpaces2. But I need to spend an extra 60 Yuan or so to buy this app, find a way to work around the SIP feature in El Capitan and write a ruby script to switch to make the fullscreen app works like a Space.

I barely need to use apps other than Emacs, web browser and Telegram

This fact makes OS X too heavy to me. And these three apps all work well on Linux. So I thought I can install Arch Linux on my laptop and use apps that I really need.

What I miss for OS X

Time Machine

This is a really useful feature. I can plug on my disk and setup only once then it will take care of all my files by backing up them every day or hour. And I can just forget about it. When I need to find something back, I just ask it for them and it will never let me down.

I still can't find something works like Time Machine on Linux. But I believe in the Linux world there must be some similar or even better solutions.

Dictionary

OS X has a wonderful default dictionary. And I can use it through spotlight, three-finger tapping and even Emacs (osx-dictionary mode).

I switch to goldendict on Linux. It works well actually since I have some dictionaries on my Android Phone. But it seems not have a command line version. So I still need to find a way to make it work in Emacs.

Fonts

The default fonts on OS X (San Francisco and PingFang) are pretty good. And I can only get kind of font rendering effects on Arch now using Source Han Sans CJK fonts. There are still some words in Emacs and Chrome looks pretty bad. Some Simple Chinese words are using Source Han Sans TC fonts or even Japanese fonts, which are really wired.