paint-brush
How I turned Unity into a tiling window managerby@victoria.dev
435 reads
435 reads

How I turned Unity into a tiling window manager

by VictoriaMarch 31st, 2017
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

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.)

Company Mentioned

Mention Thumbnail
featured image - How I turned Unity into a tiling window manager
Victoria HackerNoon profile picture

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.

Workspaces

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

Set up workspaces


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.

Keyboard Shortcuts


Where to find it: System Settings > Keyboard

Switch workspaces


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.

Move windows around (snap)


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.

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.

Custom shortcuts


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.

Lose the Launcher


Where to find it: Unity Tweak Tool > Launcher

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

Start programs automatically at logon


Where to find it: Startup Applications

Similar to using @reboot with Cron.

Ricing

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

Unity Tweak Tool

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







Theme: NumixIcons: Numix-circleCursor: PaperDefault font: Noto Sans CJK JP Light 10Monospace font: Ubuntu Mono RegularDocument font: Sans Regular 11Window title font: Noto Sans CJK JP Light 10

Remove Panel (top status bar) shadow


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

Log out and in again to restart Unity.

Panel opacity


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

Autostart Open VPN

Not strictly a Unity thing, but useful.



Download required packages: openvpn network-manager-openvpn network-manager-openvpn-gnome


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"

Display IP address in the Panel

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.

If you have a cat

Maybe uncheck this System Settings > Keyboard box:

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

Have one to share? Let me know!

Originally published at vickylai.io.