Switching from Mac OS X back to Linux, Part 3: The Desktop Environment

In case you missed it, here’s the story thus far:

Before I discuss my current desktop environment, let’s rewind to 2012 before I
had switched to OS X. At the time, I was running xmonad as my primary
desktop environment and was dabbling with the then, fairly new GNOME
Shell
. This was after a stint of running Ubuntu Unity
which was also still pretty new at the time.

According to a previous post of mine I was also diving back into
using vim. It’s funny because I have used vim off and [mostly] on for the
last 16 to 18 years or so. For the life of me, I can’t remember what else I may
have been using at that time other than vim with significantly less plugins.

Okay, so I had moved from xmonad (a tiling window manager) to OS X (a floating
or stacking window manager). It was a pretty painful process as I had a decent
amount of muscle memory banked for xmonad and OS X at the time didn’t have
any way to snap windows natively.

Eventually I had stumbled upon Spectacle after trying just about
every other window snap tool out there. Spectacle scratched my itch of being
able to position windows with hotkeys. Nothing too fancy. This is something that
OS X still falls quite short on and the current split view isn’t even close in
my opinion.

Over the years I had grown very fond of being able to arrange windows with
keyboard shortcuts. In fact, I had grown to prefer the hotkeys over being forced
into the typical tiling window manager paradigm of every window being forced
into a grid.

I had dabbled with some tiling window managers (i3wm and
awesomewm specifically) initially since I was a big fan of xmonad
back in the day. Similar to my decision to run Ubuntu over Arch, for sanity (and
productivity’s) sake, I figured it would be better to use a non-tiling window
manager.

What made this decision even easier is that both Unity and GNOME Shell have
window placement hotkeys out of the box.

Something else I had grown accustomed to in OS X was using hotkeys to switch
between apps
. I’m not talking about using CMD+TAB or ALT+TAB, I’m
talking about using CMD+# where # maps to a certain app. Unity was able to do
this out of the box and I was able to find an extension for GNOME Shell to do
the same.

Those two things were my biggest must-haves during the transition. I was pretty
amazed at how both Unity and GNOME Shell were able satisfy me with minimal
effort in comparison to OS X. I also came to realize I had switched back to
Linux at just right time. macOS Sierra broke Karabiner which made
my app hotkeys possible.

So what did I end up settling on? Right now, I’m primarily running GNOME Shell.
It’s not entirely perfect as I kinda hate the Activities view. Do I really need
to see all of my open windows when I am trying to launch another app? To be
fair, I haven’t done much research on how to configure the Activities view more
to my liking.

Where GNOME Shell excels compared to Unity for me is in hiding the panel as well
as the top menu. Unity has always giving me shit when trying to hide the panel.
Eventually it would just decide it’s not hidden anymore and windows would be
behind the panel. I’m unsure how this is even still an issue, it’s been a major
gripe of mine since the initial release.

GNOME Shell also had an extension to hide the top bar, something that doesn’t
seem to be possible with Unity. I like to maximize my screen real estate and I
find things like menu bars and panels to be a waste. In fact, on OS X I had
configured the Dock to be hidden indefinitely. Probably should write a blog post
on that too!

All that said, GNOME Shell is my choice for the moment, but I suspect I will end
up moving back to a tiling-window manager within the next few months. i3wm
captivated me and there is a way to hide the status bar with a hotkey. I should
be able to configure some additional hotkeys to launch apps as well.

I’m a simple guy and I compute in a very specific way. In comparison to a
younger version of myself, I feel like most of the modern niceties are just
bothersome and tend to be a hinderance to my productivity.

Next: Part 4: The Development Environment

Josh Sherman - The Man, The Myth, The Avatar

About Josh

Husband. Father. Pug dad. Musician. Founder of Holiday API, Head of Engineering and Emoji Specialist at Mailshake, and author of the best damn Lorem Ipsum Library for PHP.


If you found this article helpful, please consider buying me a coffee.