Why do I like i3 Window Manager?


Starting a discussion of what window manager is best is like starting a holy war. Or a politics discussion, a religios discussion, or any other controversial topic. People for some reason feel that their favorite is the best no matter what and EVERYONE should use it. Which to me is not even remotely the case.

Every person works and thinks differently. If you read one of my other posts, I listed 39 different window managers. I have used a multitude of window managers over the years. Some in the early years were the main ones out there and I had no real idea of the options. Most distros of Linux or even BSD installed TWM by default, which is very bare bones. Some of them installed gnome or KDE. Back in the 90s when I first leaned Linux and BSD, we were all conditioned to three paradigms. The first of them was the Apple pardigm with their pretty GUI and all mouse driven with the bar across the bottom. The second, and oldest of them is the DOS paradigm. No gui, all command line, which I learned at first. The third and most common paradigm was the Microsoft Windows paradigm.

Now what in the world do I mean by "Windows Paradigm"? Basically in the middle to late 90s almost everyone ran Windows 3.11 for Workgroups or Windows 95. To Microsoft's credit, they have been fairly consistent with their GUI. Everyone that has used Windows for years is very used to how Windows works. you click on the start menu, click on what you want to run and it opens up. If you want multiple desktops, then you hook up multiple monitors. You can go full screen on each monitor, etc. I worked for years in my jobs that way, multiple monitors to allow me to have multiple desktops to compaare files, to open multiple programs. There is nothing wrong with that method. If you look at Gnome, KDE, fvwm95, and many other *nix window managers, they work that exact same way. There is a lot of people that is a valid work flow for them.

Now, for me, I worked that for years, as I said. I was never really a KDE user, except for when I worked on the LinuxMCE project, which used KDE libraries. I used Gnome mainly until Gnome3 came out. To a lot of us, myself included, this happening in the late 2000s, made Gnome bloated and resource hungry. Today's hardware is not the same as 2009. In 2009 Ubuntu lost their mind and came out with their bastardized version of Gnome that looked like a phone. Their idea was to try to push Ubuntu to phones and all devices. Didn't happen and lately Ubuntu dropped that horrible interface. Through all of this I have installed and played with tons of window managers. If you look at the 39 I listed in the other post I bet I have installed and played with 20 of them over the years. But until a few years ago I stuck pretty much with Gnome or Gnome direvatives like Mate or Cinnamon. If I am going to run Linux, my poison of choice is Linux Mint, with mate or cinnamon for years. Now a few years ago this all changed. And it is all Christer Edwards' fault.

I say his "fault" because after years of hearing some people talk a lot about "tiling window managers", yet I never quite understood them. Christer and I have known each other since 2001 or so when I moved to Utah. We first met at the Ubuntu LUG that met at the University of Utah Engineering building. Over the years have become really good friends. We jointly ran the Silicon Slopes BSD Users Group that met at Adobe. In a lot of our discussions on lots of topics, he turned me onto DWM from the suckless.org guys. I tried it, and suddenly tiling window managers made perfect sense, and with my autism, it clicked. I ran DWM for a while, but there wasn't a lot of features available, so I looked at other tiling window managers. I had tried i3wm a couple of times and it didn't make sense to me how to configure it and use it. After DWM I was convinced and spent the time to really learn it. This increased my love of tiling window managers. Instead of having to move apps over each other and swap what is shown, I now have almost unlimited desktops to put apps on. I currently on this i3 that I am running have 22 desktops. I can open tons of apps and them not effect/affect each other. I can swap quickly between desktops to look at various apps with a "win" number or Fkey. This allows ME to work like I think with my autism. I no longer waste time moving apps around to find the app I want.

i3wm desktop

Above is a screenshot of my desktop. You will notice that I have 4 desktops open, 1, 2, 10 and 22. For my mind and how I work, this is the perfect layout. Also, you notice that all my desktops have conky running transparent on all desktops. I will admit, I stole the idea and the files to do that from Manjaro Linux. This is my personal laptop, so it is running FreeBSD 13.1. I ran Manjaro i3 version live and found the files and downloaed the files to do that with Conky. I have a link below to download the files to do that. Also, you look at my tray at the bottom And you will see where I have the ibar configure with i3status to show the wireless, the wired network, the battery, etc. I have another post I am going to do that has how to configure the tray the way I have it. There are an endless number of ways to configure the tray.

One thing that is hard to get when you first start using i3 as your desktop manager, is the keystrokes. i3 was designed to basically function fully without a mouse. The idea is that if you do not have to move your hand from the keyboard to go grab a mouse, it is faster. I have configured a cheat sheet on the desktop with the afore mentioned Conky. But for my son I created one that can be printed out. He is learning to code and likes i3 and needed a command cheatsheet. Here is the file I created for him:

##Standard usage Keystrokes
Start a program (rofi) WIN + Q
Open a workspace WIN + (1 thru 0 F1 thru F12)
Switch to an open workspace WIN + Shift + (1 thru 0)
Navigate between workspaces WIN + Ctrl +
# moving windows around on a desktop

Stacking windows
Tabbed layout windows
Tile Windows (split view)
Toggle split direction
Make a window float
Unfloat a window
Split windows Vertical
Split windows horizontal
Fullscreen mode


WIN + S
WIN + W
WIN + E
WIN + E
WIN + Shift + Space
WIN + Shift + Space
WIN + v
WIN + h
WIN + f
# change focus

focus left
focus down
focus up
focus right


WIN + j
WIN + k
WIN + l
WIN + semicolon
# alternatively, you can use the cursor keys:

focus left
focus down
focus up
focus right


WIN + left arrow
WIN + down arrow
WIN + up arrow
WIN + right arrow
# move focused window

drag floating windows to their wanted position
move left
move down
move up
move right

WIN + Mouse button
WIN + Shift + j
WIN + Shift + k WIN + Shift + l
WIN + Shift + semicolon
# alternatively, you can use the cursor keys:

move down
move left
move up
move right


WIN + Shift + Down
WIN + Shift + Left
WIN + Shift + Up
WIN + Shift + Right
# focus the parent container

focus parent

WIN + a
# focus the child container

focus child

WIN + d
# resize windows

enter into resize mode
resize shrink width 10 px or 10 ppt
resize grow height 10 px or 10 ppt
resize shrink height 10 px or 10 ppt
resize grow width 10 px or 10 ppt
resize shrink width 10 px or 10 ppt
resize grow height 10 px or 10 ppt
resize shrink height 10 px or 10 ppt
resize grow width 10 px or 10 ppt,br>


WIN + r
j
k
l
semicolon
Left Arrow
Down Arrow
Up Arrow
Right Arrow
# scratchpad commands

convert window to scratchpad
scratchpad show


WIN + Shift + minus
WIN + minus


here is a link to download the text file:

    i3wm CheatSheet

Please feel free to use my files as a base to do your own thing. i3wm is really a completely configurable system. Not for everyone, but if the idea of multiple desktops with apps running on each desktop and no more moving apps around appeals to you, give it a shot. You might be surprised at the results.