Bringing a Taste of Linux to Windows

For a good part of my life, I was a Linux zealot. I preached it like I was preaching a religion. I felt superior to others because I could handle something so daunting and intimidating. I realized that most of my day was spent configuring the operating system rather than actually getting work done. As my responsibilities in life grew and my career as well, I didn’t have time anymore to deal with all the shenanigans and challenges that this operating system brought to my life.

Eventually, I got disillusioned with Linux and was tired of wrestling with it because the new update just borked my GPU drivers once again being presented with a black screen when booting up my system. I had to sift through documentation and wikis for hours to find out a solution and since I only owned one system, I had to relegate myself to my phone’s tiny screen. I was done. I made some backups and wiped everything out for a Windows 10 install.

Linux has spoiled me quite a bit and I got used to some its applications, features and quirks. Moving to Windows created some gaps in my workflow that I felt slowing and holding me down. Going back to Redmond’s offering has forced me to search extensively for software that would fill in these holes requiring quite some experimentation.

(Keep in mind the Headings can be clicked to go to the application’s website)

Windows Subsystem for Linux

The confusing name for WSL made it hard to understand what this feature was for the one who was uninitiated. However, Linux started to become an infatuation at Redmond and they became to embrace it starting with Azure. Windows 10 brought the surprise that I would be finally able to run my favourite Linux tools without needing a virtual machine and complex setup of shared folders. It was light and fast. Basically, WSL is Wine backwards: it runs Linux ELF binaries translating the Linux API calls into equivalent Windows NT ones.

All the beautiful Unix commands were finally available to prune through files easily, automate tasks and of course use magical tools to deal with obscure situations. You could even pick what distro WSL would run. I just picked Ubuntu because it provided a polished bash experience alongside a great package manager APT for pulling in your favourite packages and building your arsenal.

Shortly after, I customized it a bit by installing ZSH and doing various tweaks to make it just perfect for me. However, the built-in Windows terminal emulator left a lot to be desired and have a good solution:

ConEmu

I have no memory of how I discovered this tool however it was quite the revelation. It rendered the colours and symbols that Linux command line tools used. You could choose to start the shell you wanted even in administrator mode. The great Quake-style dropdown was available. And of course, a nice tiling functionality reminding you of your good old days in awesome tiling window managers. Tabs were not left out either.

You can even have ConEmu be part of your context menu so you can launch it straight from explorer.

Admittedly, the keyboard shortcuts are clunky and quite the mess, thus making them harder to remember. There’s so much to customize like colour themes, fonts and way more, but the settings window is a bit hard to decipher and quite difficult to navigate. I guess that’s the price you pay for all that customizability.

AutoHotkey

Linux’s probably most powerful feature is scripting. There are so many command line tools and APIs that you could create the most sophisticated scripts that did exactly what you wanted. Want to download a YouTube video on your hard drive? You’re covered. Need to rearrange displays when plugging in your dock? You got it. What about starting a bunch of applications per workflow? You’re set.

This is where AutoHotkey comes in, bringing the ability to automatic tasks via a huge swath of commands available at your disposal. Whether you want to move your pointer to the center of the screen or have a keyboard command bring up your note taking application. It’s all possible

Just like when scripting in Linux using bash or python, there’s quite a steep learning curve to get a hold of the power of this beast. Thankfully, the official documentation is excellent and like always, there are forums and stackoverflow to save you.

I personally use AutoHotkey to switch between applications and start the terminal. I don’t have ideas yet on what else I can do, but I don’t doubt that this scripting language will allow me to do whatever I need to suit my workflow.

Divvy

In my opinion, the biggest showpiece that Linux has was tiling window mangers. It was a whole paradigm shift from floating windows to making them well organized and neatly stacked. My favourite WM was definitely i3 because of it’s ease of use and intuitive way of tiling windows. It was well tested and easy to configure as well.

When I left Linux land, I had to content with a disorganized mess of floating windows again. There was some honorable attempts (such as b3 and bug.n) at porting them to Windows but they were clunky and often didn’t work seamlessly. The truth is, the APIs on Windows for manipulating windows is quite complicated and often generated inconsistent results. The poor developers had to content themselves with these trying to shoehorn the power of tiling managers into an operating system that just couldn’t accept it and clearly wasn’t made for it.

In comes Divvy, a piece of software a friend introduced to me many years ago. Although it didn’t automatically tile the windows for you, you were able to organize your windows into tiles by selecting the area of the screen you wanted to fill. It’s very intuitive and quite customizable such as adjusting the size of the tiles and their count. You can even have gaps between the tiles. A featured so loved by /r/unixporn users who ran a modified version of i3 called i3-gaps.

Now, my desktop can be organized but unfortunately, I have to do it manually. It’s not bug free either sometimes windows not being moved or resized properly.

Groupy

A feature that I fell in love with was provided by the lightweight window manager Fluxbox. You could merge multiple windows into a single title bar being able to switch them just like you would switch tabs in a web browser. This really helped with the mess experienced by floating window managers and provided more comfort.

I knew Stardock for it’s amazing customization tools bring powerful features to the Windows Desktop. I often kept an eye on their new releases and played around with what they had.

Groupy is one of their more recent creations. It allows Windows to be groups in tabs cleaning up your desktop quite a bit. You chose how you organized your windows whether it was by application type or easy workflow switching.

Unlike many of the other available solutions, Groupy looks clean and professional with a bit of configurability such minor appearance tweaks and keyboard shortcuts. It’s very intuitive: you simply drag a title bar of one window to another and that’s it. You have merged two windows into a tab.

Conclusion

These were a sampling of applications that brought creature comforts of Linux into Windows. I still think that Linux is awesome and use it extensively in VMWare for web servers and deploying software for those I work with. Every year is the year of the Linux Desktop but I don’t think we’ll ever get there. At this point, in terms of the general public, Windows and macOS own 100% of the desktop market share.

One plug and shout-out to AlternativeTo that helped me find equivalent applications for both Linux and Windows.

Please share your ideas on this topic in the comment sections below. Are you still a Linux user who managed to make a living out of it and comfortable with the OS? Or have you moved to another OS?

How to fix a Linux computer according to the Oatmeal