Part 3 - Setting up i3 Window Manager
It's been a couple of years since I started using Tiling Window Manager. I first started with Awesome because it's said that this window manager was somewhat between floating and tiling window manager. It uses Lua to configure the system. It's not the easiest language to learn, but not the most difficult one, either. I liked it but I found a bit cumbersome to arrange windows the way I wanted. So, I migrated over to i3.
The information in this site is the result of my researches in the Internet and of my experiences. This information below is solely used for my purpose and may not be suitable for others.
I love i3 for its simplicity and text based configuration file. It's fast, powerful and supports multi-monitors well. I don't think I can go back to any other Window Managers anymore.
To use i3 Window Manager, X Window System needs to be installed.
# emerge --ask x11-base/xorg-drivers
# emerge --ask x11-base/xorg-server
When the installation is finished, some environment variables will need to re-initialized before continuing. Source the profile with this command:
# source /etc/profile
I have a rather old NVIDIA GeForce GTS 450.
For some reasons, the latest drivers from the nvidia website always doesn't work even though it says its compatible with my graphic card. So, I use the one I know it works from before.
# sh NVIDIA-Linux-x86_64-390.116.run
i3 Window Manager:
The installation of i3wm is straight forward.
# emerge --ask x11-wm/i3
After i3wm is successfully installed, we need a way to execute it and get into i3 window environment. To do this, ~/.xinitrc needs to be created.
This is the file when startx and xinit are run and execute it. If this file is not present, startx run the default from /etc/X11/xinit/xinitrc.
$ nvim ~/.xinitrc
Then, we need to update ~/.xinitrc to load ~/.Xresources automatically each time startx is executed so the config is loaded into urxvt.
$ nvim ~/.xinitrc
[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources
Rofi is a window switcher, run dialog, ssh-launcher and dmenu replacement that I've been using since the day I switched to i3 Window Manager.
# emerge x11-misc/rofi
Installation of i3pystatus is straightforward. To display icons, I'd need Font Awesome installed.
# emerge --ask media-fonts/fontawesome
Then, install pip, Python's package management system.
# emerge --ask dev-python/pip
Using pip, i3pystatus can be installed. The --user option is needed because I'm installing it as a regular user. This will install it user's $HOME directory ($HOME/.local/):
$ pip install --user i3pystatus
As mentioned before, i3pystatus was installed under $HOME/.local/bin/, this needs to be added to $PATH.
Finally, install some modules to display volume, memory usage, disk usage, network status, etc.
$ pip install --user colour \
- Part 1 - Base System
- Part 2 - Configuring Other Applications
- Part 3 - Setting up i3 Window Manager
- Part 4 - Virtualization with VirtualBox