Tiling Window Managers are incredible

Linux has some really amazing tools. One of my favorites is the “Tiling Window Manager”. There’s many flavors of window manager. i3, Xmonad, DWM, Awesome, and more.

A window manager uses up 100% of your screen space. If you have two windows open (like a browser and a text editor) then the manager splits the screen so 50% of your screen goes to the editor and 50% goes to the browser. You can quickly jump from screen to screen adjust the sizes, open, close, and move around without having to touch the mouse. Take a look below at the i3 Window Manager in use below: (gif of opening & closing windows)

There’s not really much else to talk about. I currently use i3 so let’s install that. If you want to see it in action before you install it then check out this video of me using i3 below:

Installing i3 Window Manager (on Ubuntu)

If you’re using another Linux distribution then you’ll want to look up instructions for your system. Note: there’s another package called “i3-wm” which is JUST the window manager. installing “i3” provides other useful tools that work well with i3. On Ubuntu, run this in your terminal:

$ sudo apt update
$ sudo apt install i3

Once i3 is installed you’ll want to create a config file called “config” and place it in ~/.config/i3/

Here’s my pre-configured config file

If you don’t use my config file or don’t have a ~/.config/i3/config then i3 will create one for you when you start up i3. Now you need to logout or restart and login again with i3. In Ubuntu that looks like this:

Once you’ve logged in you’re going to get a big blank screen. If you followed along and created the ~/.config/i3/config   file then you should be able to press

 alt + Enter to bring up your terminal. Now let’s dissect the file and see what kind of commands and shortcuts you have. Be sure to check out the i3 Documentation

$mod is their modifier key. In my config I have $mod set to alt. So $mod+enter is alt+enter.

Now we’ll go through some common key commands:

$mod+shift+q = kill selected window

$mod+d = open dmenu  (top of screen will list applications you can run. search or scroll and press enter to run. Press ESC to quit dmenu)

$mod+f = Toggle in and out of Full Screen on focused window

The next four are VIM keybindings. Instead of using the arrows or the mouse, why not use the keys right under your fingertips to move around? If you have multiple windows open you can toggle the focus with the key presses below.

—-

$mod+h   OR $mod+ Left arrow (Focus left)

$mod+j    OR $mod+Down arrow (Focus Down)

$mod+k   OR $mod+Up arrow (Focus Up)

$mod+l (lowercase L)  OR $mod+Right arrow (Focus Right)

—-

$mod+1, $mod+2 etc… = move to workspace #x (You get 10: 0-9)

$mod+Shift+1, etc… = move focused window to that workspace

$mod+v start splitting windows so they are (vertical) on top of each other

$mod+p start splitting windows so they are side by side

—- adjust size of focused window —-

You can create different “modes” in i3. If you want to resize windows, then this code allows you to resize the focused window. It’s not perfect because depending on where the focused window is located it might work backwards. You’ll see what I mean when you start playing with it.

Step 1. Enter resize mode with $mod+r

step 2. Adjust size of window:

j (or left) – resize shrink width 10px or 10ppt

k (or down) – resize grow height 10px or 10ppt

i (or up) – resize shrink height 10px or 10ppt

l (or right) – resize grow width 10px or 10ppt

Step 3. Exit resize mode: Escape or Return/Enter

—-

You will surely want to create your own key commands. You can see my created commands towards the bottom. Here’s the formula, with Shift being optional:

bindsym $mod+Shift+key_of_your_choice exec chosen_command

And here’s some examples:

bindsym $mod+c exec chromium-browser

bindsym $mod+t exec emacs

bindsym $mod+i exec scrot

Moving focused windows doesn’t allow you to arrange things perfectly within a single workspace. If I have more than 4 windows in a workspace I’ll usually try to utilize the additional workspaces. You get 10 so that should be plenty. I also typically manage my terminal with an emulator/multiplexer like Tmux instead of i3. 

—-

$mod+Shift+h (move focused window left)

$mod+Shift+j (move focused window down)

$mod+Shift+k (move focused window up)

$mod+Shift+l (move focused window right)

$mod+Shift+0-9  (move focused window to workspace of choice)

—-

Add Your Heading Text Here

Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Learn to Code! Get Free Tutorials & Courses Straight to Your inbox!