Linux - Window Managers

Window managers

One of the big advantagees with using a Windows Manager (WM) instead of a full desktop environment is the lightness of Window Managers.

https://wiki.archlinux.org/title/Window_manager#Types

Personal preference

My workflow with tiling window managers is amazing. With stacking window managers, I get distracted from the one thing that I am supposed to focus on in the moment.

With tiling window managers, it is difficult to ignore open frames that are staring at you, asking you to complete them. If we have the discipline to address them, that will help with focus and peace of mind.

Tiling window managers

Why I love them?

The simplicity of i3 will procure to your mind the peace it deserves to focus on more important problems.

  1. Put the frame (one or two) that you want to work on in one desktop window and you don’t have to look at anything else until you are done with the frames that you are working on. Helps with focus.

i3

Why?

Personal Note:s

  1. i3 will always position windows following a specific layout. No surprise, windows positioning become highly consistent.
  2. i3 version is great because the tiling window manager experience is very good.
  3. Very keyboard centric.
  4. Only one frame per desktop - if you want to switch to a different frame, Alt + Tab doesn’t work.
    1. We have to switch Desktop windows.
    2. This is a pro. Helps with focus.

Usage Tips:

  1. i3 Reference Card https://i3wm.org/docs/refcard.html
  2. Focus on the other window in the current workspace by using $mod+ARROW key.
  3. Toggling fullscreen mode for a window: $mod+f
  4. Changing the container layout:
    1. To switch modes, press
      1. $mod+e for splith/splitv (it toggles),
      2. $mod+s for stacking and
      3. $mod+w for tabbed.
    2. To switch orientation in splith/splitv from vertical to horizontal or horizontal to vertical, use $mod+e
  5. Hot reload: https://i3wm.org/docs/userguide.html#_reloading_restarting_exiting
    1. The existing workspaces may not disapper. But trust that it works. When you press mod + <a-number>, you will see the new set-up working.
  6. Reload shortcuts
    1. $mod+SHIFT+c - Reload i3’s configuration. You need to use it each time you modify your configuration file, to apply the changes to the current i3 session.
    2. $mod+SHIFT+r - Restart i3 in case of bugs or weird state.
    3. $mod+SHIFT+e - Logout and quit i3. We will modify that later.

Customization:

  1. How do I find out the class for an application to assign it to a workspace in i3?

Reading notes:

  1. https://i3wm.org/docs/userguide.html
  2. https://thevaluable.dev/i3-config-mouseless/

LeftWM

Multi monitor support did not work out of the box. I used a monitor when installing the distribution. I was doing some work on a connected monitor. I disconnected the laptop from the docking station. I no longer had access to the screens that I was working on (the ones that were on the connected monitor).

XMonad

  1. https://xmonad.org/
  2. https://wiki.archlinux.org/title/Xmonad

Customization with .xmonad.hs would be easy if we know Haskell. Would help to know a little bit of Haskell.

How to configure xmonad in such a way that when you switch to a workspace, the program associated to that workspace opens up automatically? e.g. When you switch to workspace4, how to open Thunar in that workspace automatically?

Pros:

  1. Tiling window manager
  2. Lightweight and simple to use
  3. Uses Haskell

Cons:

  1. Setting up and working with toolbar can be a pain
  2. The fight with .xmonad config and .xmobar config didn’t seem to be worth it. The return on investment, when it comes to time, is minimal. I wasted a lot of time with it.

Second monitor not detected after login or extending monitors is not working

Switch to X11. Nvidia and Wayland do not always play nicely with each other. This can be done at the login screen. Did you check to see if it shows up as “enabled” in “System Settings/Display & Monitor” after login? If not, set it to enable. I noticed recent Neon updates seemed to disable one of my displays, and I needed to re-enable it there.

Floating/Stacking window manager

Openbox

  1. https://wiki.debian.org/Openbox
  2. https://en.wikipedia.org/wiki/Openbox

Links to this note