I3 Tiling Window Manager
Work in progress. Page will hopefully be completed soon
Contents |
Introduction
i3 is a tiling window manager that is based upon experiences the developers shared while attempting to fix/hack wmii. i3 has the ability for either floating windows, which you can resize and move, and tiling windows. i3 uses a tree as a data structure to allow for more flexibility. i3 defaults with home-row key-bindings which are quick and easy to get beginner's off the ground.
Documentation
Websites
Man pages
- i3
- i3-config-wizard
- i3-input
- i3-migrate-config-to-v4
- i3-msg
- i3-nagbar
- i3-sensible-editor
- i3-sensible-pager
- i3-sensible-terminal
- i3-wsbar
- i3bar
- i3lock
- i3status
Installation
Portage
The easiest and quickest way:
# emerge -avt x11-wm/i3
Manual
Tarball
Download the latest version from the i3 website. i3-4.1.1
# cd /PATH/TO/TARBALL # make # sudo make install
Git
# git clone git://code.i3wm.org/i3 # cd i3 # make # sudo make install
Setup
xinitrc
Edit ~/.xinitrc
exec i3
For i3 logging, edit ~/.xinitrc
exec i3 -V -d all >~/.i3/i3log-$(date +'%F-%k-%M-%S') 2>&1
If you are using Nvidia or for some reason don't use xrandr, edit ~/.xinitrc
exec i3 --force-xinerama
and nvidia with logging:
exec i3 --force-xinerama -V -d all >~/.i3/i3log-$(date +'%F-%k-%M-%S') 2>&1
Example ~/.xinitrc
#!/bin/zsh xrdb -merge ~/.Xresources exec ck-launch-session dbus-launch --sh-syntax --exit-with-session i3 -V -d all >~/.i3/i3log-$(date +'%F-%k-%M-%S') 2>&1
X11 and RandR
I have an ATI 6870 dual-monitor setup that I have setup using xrandr and not xinerama. I used xinerama at one point and it worked on the ATI dual-monitor setup, but as for Nvidia, I have no experience. See The Multi-Monitor Situation if you need more information on setting up Nvidia with multiple monitors.
Make sure you have xrandr installed. If not
# emerge -avt x11-apps/xrandr
and if you want a GUI with xrandr
# emerge -avt x11-misc/arandr
Example /etc/X11/xorg.conf.d/30-screen.conf
... Section "Monitor" Identifier "Monitor0" Option "DPMS" "true" Option "Primary" "true" EndSection Section "Monitor" Identifier "Monitor1" Option "DPMS" "true" Option "RightOf" "Monitor0" Option "Primary" "false" EndSection Section "Device" Identifier "ATI HD 6870" Driver "fglrx" Option "Monitor-DVI-I" "Monitor0" Option "Monitor-DVI-D" "Monitor1" Option "TexturedVideo" "on" EndSection Section "Screen" Identifier "Default Screen" Device "ATI HD 6870" DefaultDepth 24 SubSection "Display" Depth 24 Virtual 3840 1200 EndSubSection EndSection ...
In the "Screen" section, I have the Virtual Display set at 3840x1200. I originally tried 3840x1080, which would have been the resolution of both monitors combined horizontally, but as of yet I have not found a way to get that virtual resolution to work correctly in a dual monitor setup. Set at 3840x1200 I am able to have both monitors set as if they are connected side-by-side.
i3 config
i3-sensible-editor
i3-sensible-terminal
i3-sensible-pager
i3status
Troubleshooting
i3status
In the case such as mine, i3status did not work out of the box. The permissions were set at -r-xr-x--- and when run as non-root, zsh would return with "permission denied". If i3status does not work for you, this can be easily corrected by changing the permissions.
# sudo chmod 755 /usr/bin/i3status