Switching To A Window Manager

Kashif
6 min readMay 24, 2021
posted by u/AlbertEinstein_1905 on r/Unixporn

I switched to window managers a few months back, no probably more than a year now and everyone should too. The experience with dynamic and tiling window managers is phenomenal. To sum it they’re fast, minimal, low memory consumption, and keyboard-driven.

They are much lighter(less resource-heavy)
To give you a fair idea, the average 600 MB memory that KDE takes booting is roughly around 100 MB on window managers fancy too that we see at r/Unixporn is not so much. With this, you have more ram to run more tasks rather than the desktop environment eating it all.

Are not bloated with packages that you don’t need(less bloat)

Different desktop environments come with many packages that most of us never use. Here at Window managers, the case is unique install things that you need rather than allocating space to software that you’d never use. Anyways with crypto on hard drives moving in, it’s always better to save space.

Snap as many windows as possible(good use of screen real estate)

The real benefit of using window managers gets highlighted here. Window managers can size windows as you want without using the keyboard in some window managers. You can open the browser, the office suite, and the terminal simultaneously and decide which ones are big and small. In all, you can open as many packages as you want and have as many windows. There are many layouts too, which can float windows or zoom in on one or tile vertically horizontally. There are many layouts to choose from in Windows managers.

Can do everything from the keyboard(keyboard-driven)
This is the most time-saving aspect that window managers implement. Most all are keyboard-focused. The resizing of windows, launching new ones, launching apps from the menu. Everything from the keyboard. In my experience you can completely ditch the mouse, no more scrolling around with the exception only in the browser if you want to try browsing without the mouse take a look at these extensions vimium chrome extension and tridactly for firefox, try pendactly too, I don’t know if it is active but the first two do the job, basically, with these extensions, you can browse the web with vim keybindings.

Automatically launching things on startup(autostart script)
Another cool thing you can do with window managers. Window managers have a config file that is modifiable to open packages when it is launched. For example, on desktop 1 I usually open a terminal and on 2 I open brave browser. Rather than going ahead and doing this every time on startup clicking around to launch these two programs. I can automate this process on startup. Every time I open the Window manager these programs will open and the command will be executed by the startup script.

Highly Customizable(Eye-candy level 100)

Every visible element is customizable on Window managers. I recommend you to have a look at r/Unixporn. From the bar to the run menu, borders and UI colors, wallpapers, cool matching color schemes can be created all across the desktop with pywal and wpgtk, these packages pick colors from the wallpaper and theme gtk programs as well as provide color in the terminal.

Login Managers can be ditched forever(.Xinitrc)

I completely ditched the login managers and went with xinit. Now xinit is a Xorg package that lets you launch an X server session by editing the .xinitrc file. With this, the errors that login managers bring can be skipped and launch window managers simply by typing startx on tty console.

Tile+float+Zoom windows(layouts)
I am going to refer to dwm here. To give you a fair idea of how layouts work. These images are from ratfactor.

Tiled
The first window is a fullscreen one adding more windows to get tiled like in the picture.

from ratfactor

Float
The float layout lets the windows hang in the air.

from ratafactor

Zoom
Zoom layout is known as monocle layout in dwm. I prefer to call it zoom. Let’s go fullscreen with a window.

from ratfactor

These were the advantages I experienced when giving window managers a test started with i3wm using dwm, use spectrwm occasionally.

The reasons that made me switch were

Never liked the look of the desktop environment

Everyone will say they are customizable, but it never suited my taste. The number of GUI elements in desktop environments was hardly ever used by me. And I was never satisfied with the look.

The switch to i3wm , had me feeling fast , and the system felt way snappier.

Switching to window managers made me use the different desktop tags with efficiency. While I used KDE I never really used many desktops, I launched everything on one desktop and had a tough time adjusting and finding these windows in floating mode.
My switch to i3 made it a more clean experience for me. There was no overcrowding, and I used the different desktops to launch at most 2 to 3 windows tiled vertically, making it much easier for me to find the windows that I used rather than sorting the pile.

Everything can be keybind

Rather than searching for the brightness control in desktop environments. Going to settings or the dock and clicking and adjusting it, I could preconfigure the levels of brightness I liked and could increase and decrease it as my wish. Same for sound key binds made the work easy of increasing and decreasing sound. This is possible in desktop environments but who does this as everyone prefers the GUI there. Here in Window Managers, it is pretty simple to keybind everything that you need, no GUI at all, Though you can add GUI too if you like. Brave, Vivaldi, firefox anything can be opened with keybinds too.

Adding fancy animations with a compositor
Smooth transition effects, as well as blur transparency in windows, can be added with a compositor. The jonaburg fork of picom works well as you have blur, transparency, and transition all in one with jonaburgs fork. The sample config on his git page works like a charm though you need to toggle blur and transparency in there.

Bars are customizable like crazy

With polybar,dwmblocks,waybar window managers can have a beautiful looking bar that displays Time, Temp, CPU, RAM any parameter that you want. Some people go ahead and make the bar clickable like for changing wifi, the network icon is clicked and the wifi GUI pops up. (network manager applet)

Lockscreen can be added
xlock slock and many more packages add the lock screen to the Window manager and are customizable.

Drop and Click menus Can be added
If you have your hand on the mouse and don’t want to press a keybind. Drop click menus can be added, Xmenu & Jmenu do a great job. I guess xmenu populates its menu list on its own. They are customizable, and many more options can be added to the menu.

You learn more about the command-line
Using Wm’s you learn a lot of commands. I realized that it’s faster to use the terminal than anything else. Copying files cp, Moving files mv and changing directories cd is pretty easy on terminal rather than popping into the GUI file managers and if terminal commands are not your thing you can try ranger, lf, joshuto, nnn. All of these are terminal file managers that can be launched in the terminal. You can try midnight commander too. Ranger seems to be a little slow but offers a pretty cool preview of files. A little bling can be added to the ls and cat command by lsd and bat. Lsd does ls with fonts and looks way cool, same for bat.

To conclude

Distro hopping was never the answer. A distribution is a package manager + Desktop Environment; We reject and judge distributions based on desktop environments; desktop environments are created according to someone else’s preferences Which may not suit our own. Distribution should be a package manager and the one that we like be it apt, zypper, Pacman, and our own personally modified WINDOW MANAGER to suit our needs.

--

--