cover image

How I turned Unity into a tiling window manager

Love i3 but like having things easy? Me too. Here's a guide to getting (something similar to) the i3 features you love working in Unity.

Since Ubuntu 17.10, a default installation of Ubuntu Desktop uses GNOME instead of Unity.

After a long and loving battle experience using i3 as my workhorse window manager on my old laptop, I’ve decided to mainly use Unity on my new laptop instead. I’m a huge fan of tiling window managers as a result of my i3 experience, however, the time it took to configure everything is longer than I wanted to spend getting set up before getting to work with my new laptop. (Read: just can’t resist spending hours ricing.)

I got really hooked on i3’s functionality though and needed to find ways to replicate it in Unity. Thankfully it only really took a few small adjustments. For anyone looking to use a full-featured desktop environment that comes pretty close to the functionality of a tiling window manager, I hope these tweaks are useful for you.


You can create workspaces in Unity that resemble workspaces in i3.

Where to find it:
Unity Tweak Tool > Workspace Settings

Set “Horizontal workspaces” to as many as you’d like, and “Vertical workspaces” to 1. This will allow you to access spaces by moving right and left.

Workspace Settings

Keyboard Shortcuts

Where to find it:
System Settings > Keyboard

Where to find it:
System Settings > Keyboard > Navigation

You can set keyboard shortcuts that assign numbers to your workspaces, and that let you move left and right between them.

Keyboard shortcuts for workspaces

Where to find it:
System Settings > Keyboard > Windows

You can maximize and restore windows using shortcut keys. In my case I have them set to “Ctrl+Super+Up” and “Ctrl+Super+Down” respectively.

Moving windows with shortcut keys

I discovered this by accident, and I’m not sure if it’s listed somewhere I can’t find. If I press “Ctrl+Super” and a left or right arrow key, I can snap a window to the left or right half of the screen.

Where to find it:
System Settings > Keyboard > Custom Shortcuts

“Custom Shortcuts” allows you to set any keybinds you’re missing from i3. The most important ones for me were the shortcuts to launch a terminal and to use rofi.

Custom Keyboard Shortcuts

Lose the Launcher

Where to find it:
Unity Tweak Tool > Launcher

Turn on “Auto-hide” and set “Reveal sensitivity” to zero.

Turn off launcher

Start programs automatically at logon

Where to find it:
Startup Applications

Similar to using @reboot with Cron.

Startup Applications


C’mon, of course I wasn’t just going to leave it stock…

Riced Unity

You can do a fair bit with Unity Tweak Tool. Here’s my setup:

Theme: Numix
Icons: Numix-circle
Cursor: Paper
Default font: Noto Sans CJK JP Light 10
Monospace font: Ubuntu Mono Regular
Document font: Sans Regular 11
Window title font: Noto Sans CJK JP Light 10

Where to find it:
Rename or delete this file: /usr/share/unity/icons/panel_shadow.png

Log out and in again to restart Unity.

Where to find it:
Unity Tweak Tool > Panel > Transparency level

Misc other settings

Where to find it:
Unity Tweak Tool > Web Apps > Integration prompts OFF, uncheck Preauthorized domains

Not strictly a Unity thing, but useful.

Download required packages: openvpn

Download your client.ovpn file from your console page and rename it with client.conf.
Create a keys.txt file with your username on line 1 and your password on line 2. (Yeah, it’s plain text. Ubuntu’s .Private encrypted folder is a good place to store it.)

In the client.conf file:

  • replace instances of “openvpn” with your actual IP address
  • add the keys.txt file name directly after auth-user-pass, just like this:
auth-user-pass keys.txt

Add both client.conf and keys.txt to /etc/openvpn

Finally, in /etc/default/openvpn, uncomment AUTOSTART="all"

Uses a light little utility called indicator-ip.

From the terminal, run sudo apt install indicator-ip.

Add it to Startup Applications to run it automatically.

indicator-ip startup

Maybe uncheck this System Settings > Keyboard box:

Key press repeat

Hope that was helpful! Check back for more tips later - I’ll continue to update this post as I discover them!