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