The first thing I do when I start working on a project is arranging my editor-, git command line-, terminal- and browser-windows using my mouse. And even though this process is not terrible exhausting I thought this could be improved and discovered i3 - a tiling window manager that automatically resizes every new window to the maximum area they have available on the screen.
This is how a typical development session on one of my hobby projects (e.g. allmark - a standalone markdown webserver) would look like:
With Ubuntu Unity
My review of the i3 Window Manager so far:
- It takes a bit of time to get used to it
- You almost never have to use a mouse
- You will need to learn some new keyboard shortscuts (see my i3 keyboard shortcut cheat sheet: Andy’s Keyboard Shortcut Collection)
- It needs a bit of tweaking (shortcuts, tools, theming, …)
- The official documentation is really great (see: i3wm.org)
- There are many great tutorials and videos about i3 out there
- The performance inside a VM is much better with i3 than with Unity (for reasons unknown to me)
- It is a bit odd that every window and dialog box is forced into the i3 tiling layout (e.g. if you are browsing a website with a fullscreen browser window any popup will take up half of the screen)
- Sometimes it is still nice to use a “normal” window manager because some daily routines such as volume control, using a file explorer, … become at bit more complicated with i3 (but this could be just me being a beginner)
I will update this post as I learn more about the nuts and bolts of i3.
Enable VMWare Integration for i3
When you are using VMWare you want to make sure that the OS integration is active when you are using any desktop, because otherwise you will for example not be able to share your clipboard between the host and your i3 desktop.
echo "exec vmware-user" >> ~/.i3/config
see: superuser: Linux Tiling window manager that works well within VMware (resolution, monitor changes)
Reload the i3 config
If you changed your i3 config you can reload it using
r or by executing the following command:
Set a Desktop Background
A minimalistic window manager is nice but you still might want your favorite desktop wallpaper or color - you can use nitrogen for that.
apt-get install nitrogen
nitrogen to pick a desktop background:
After you have picked and applied a desktop background you can add
nitrogen --restore to your i3 config file (`~/.i3/config):
exec nitrogen --restore
Customize i3status bar
i3’s default status bar comes with a few components that you might not need. The star bar is created by a tool called i3status that you can easily customize by editing the
Odd Things about i3
Dialog Box Handling
Dialog boxes will be treated as every other window and will by default take up half of the screen. Here is an example in which I create a bookmark for a webpage: