Linux: i3 Windows Manager
A look into i3 WM, a tiling window manager still actively maintained and heavily customizable
In computing, a tiling window manager is a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to the more popular approach of coordinate-based stacking of overlapping objects (windows) that tries to fully emulate the desktop metaphor. (Wikipedia)
Installing i3
First of all let's install i3, its statusbar, lock screen, program launcher and wallpaper manager.
$ sudo apt-get i3 i3status i3lock suckless-tools nitrogen
Prepare your i3 configuration file:
$ cp /etc/i3status.conf ~/.i3/i3status.conf $ vim ~/.i3/config
This config file will allow you to customize every bit of your i3 environment, appearance as shortcuts.
Customize font
You may use XFT or TTF fonts. In this example will use a square pixel XFT font named Artwiz Snap. You'll find XFT fonts from repo or the Artwiz font via this link.
$ sudo apt-get install xfonts-*
$ fc-cache -f -v
$ xfontsel #choose and select xfonts
You'll have a code line similar to this one:
"-artwiz-snap-*-*-*-*-10-*-*-*-*-*-*-*"Startup programs
You may launch any startup applications through the config file: graphic daemon, wallpaper manager and such. Just add an 'exec' line as follow:
# Startup programs:
exec --no-startup-id cinnamon-settings-daemon #or gnome-...
exec --no-startup-id nitrogen --restore
exec --no-startup-id conky
exec --no-startup-id urxvtd -q -o -f
Shortcuts
Every shortcuts is customizable following this syntax:
# programs bindsym
$mod+Shift+w exec uzbl-browser bindsym
$mod+Shift+f exec thunar
You'll find in the i3 documentation webpage everything you need to know on shortcuts and keyboard navigation.
To customize dmenu, add the usual options:
dmenu_run -b -fn "-artwiz-snap-*-*-*-*-10-*-*-*-*-*-*-*" -p "Program :" -nb '#2D2D2D' -nf '#ffffff' -sf '#000000' -sb '#00A7FC'
Statusline
Copy the .i3status.conf to your ~/.i3/folder for convenience, then find and modify the statusline bar section in your config file:
bar {
status_command i3status --config ~/.i3/i3status.conf position bottom }
Modify the i3statut.conf file to add or remove elements from the statusline.
Lock screen
Once i3lock installed you may want to use a simple lock screen shortcut, as this one:
bindsym $mod+x i3lock --image=/home/user/Pictures/lock.png && echo mem > /sys/power/state
Theming i3
I recommend using a small script to easily theme i3, available on Github, j4-make-config:
The purpose of this script for the i3 windowmanager is to easily switch between several sets of configuration options ("themes"), but also to easily put together a complete config from several different configuration parts, depending on the environment you are currently working in.
Download the folder:
- copy the j4-make-config to your ~/bin/folder (or somewhere in your path)
- copy the themes/folder to your .i3/folder
- Edit your .i3/config file and insert this line at the end :
# $i3-theme-window
- Open a terminal and execute:
$ j4-make-config solarized
Choose your theme among the pre-configured ones, or create your own.
Resources
- The complete and well organized i3 official website
- My configuration on GitHub