Difference between revisions of "I3"

From ArchWiki
Jump to: navigation, search
m (Introduction: typo; reformatted quotation and used proper English quoting rules)
m (Installation: spelling, grammar, minor rewording)
Line 16: Line 16:
 
= Installation =
 
= Installation =
  
i3 is now in the community repo, installing i3 is either possible with installing the group:
+
i3 is now in the community repo. Installing i3 is accomplished by installing the group:
 
<pre>pacman -S i3</pre>
 
<pre>pacman -S i3</pre>
or if you only want the window manager itself by installing i3-wm:
+
or, if you only want the window manager itself, by installing i3-wm:
 
<pre>pacman -S i3-wm</pre>
 
<pre>pacman -S i3-wm</pre>
 
i3-git is available in AUR - [http://aur.archlinux.org/packages.php?ID=24665 git]
 
i3-git is available in AUR - [http://aur.archlinux.org/packages.php?ID=24665 git]
Line 25: Line 25:
 
Then edit your '''<code>~/.xinitrc</code>''' and add:
 
Then edit your '''<code>~/.xinitrc</code>''' and add:
 
  exec i3
 
  exec i3
If you want i3 to log it's output (useful for debuging) add this line to '''<code>~/.xinitrc</code>''':
+
If you want i3 to log its output (useful for debugging), add this line to '''<code>~/.xinitrc</code>''':
 
  exec i3 -V >>~/.i3/i3log ">&1
 
  exec i3 -V >>~/.i3/i3log ">&1
If you use the nvidia binary drivers provided by nvidia you must use the following in your '''<code>~/.xinitrc</code>''' due to nvidia not yet supporting randr
+
If you use the nvidia binary drivers provided by nvidia, you must use the following in your '''<code>~/.xinitrc</code>''' due to nvidia not yet supporting randr:
 
  exec i3 --force-xinerama -V >>~/.i3/i3log 2>&1
 
  exec i3 --force-xinerama -V >>~/.i3/i3log 2>&1
  

Revision as of 19:01, 11 August 2010


Introduction

i3 is a manual tiling window manager which places clients into containers. Containers can be stacked (like wmii) or tabbed (like ion3). i3 also supports floating windows.

From the website:

"i3 is a tiling window manager, completely written from scratch.
"i3 was created because wmii, the author's favorite window manager at the time, didn’t provide some features they wanted (Xinerama done right, for example), had some bugs, didn’t progress since quite some time and wasn’t easy to hack at all (source code comments/documentation completely lacking). Still, we think the wmii developers and contributors did a great job. Thank you for inspiring us to create i3.
"Please be aware that i3 is primarily targeted at advanced users and developers."

Installation

i3 is now in the community repo. Installing i3 is accomplished by installing the group:

pacman -S i3

or, if you only want the window manager itself, by installing i3-wm:

pacman -S i3-wm

i3-git is available in AUR - git


Then edit your ~/.xinitrc and add:

exec i3

If you want i3 to log its output (useful for debugging), add this line to ~/.xinitrc:

exec i3 -V >>~/.i3/i3log ">&1

If you use the nvidia binary drivers provided by nvidia, you must use the following in your ~/.xinitrc due to nvidia not yet supporting randr:

exec i3 --force-xinerama -V >>~/.i3/i3log 2>&1

Configuration

i3 is configured using a simple text file. It first looks for ~/.i3/config and if it doesn't exist, reads the default config at /etc/i3/config. So to start customizing, copy the config file to your home directory:

cp /etc/i3/config ~/.i3/config

The config allows you to change such things as:

  • Border colors
  • Font
  • Keybindings
  • Workspace names
  • Default container layout
  • Assignment of apps to specific workspaces

The i3 User's Guide gives a nice overview of the config settings.

Status Bar

The internal statusbar does merely display a list of the existing workspaces and does not accept infos from standard input. dzen2 can be placed in the information bar at the bottom of the screen. Information for dzen2 can be generated using i3status or conky.

i3status | dzen2 &

Or

conky | dzen2 &

The svn development version of dzen2 offers a -dock option, which puts dzen2 at the bottom of the screen and tells i3 not to manage it. However, if you use both the internal statusbar and conky/dzen2 you get a duplication of statusbars. You could avoid to dock dzen2 and put it just over the internal statusbar. However, a cleaner solution is to disable completely the internal statusbar with:

workspace_bar no

Now you can get back your list of workspace, since i3 makes it available for external tools through an ipc socket. In the AUR you can find i3-wsbar, which is able to get the list of workspaces from the ipc socket. Thus you can pipe the conky output to i3-wsbar and tell i3-wsbar to use dzen2. E.g., put the following in ~/.i3/config:

exec conky | i3-wsbar -c "dzen2 -x %x -dock -fn -*-profont-*-*-*-*-11-*-*-*-*-*-*-* -ta l"

Please note that in your conky configuration file you can use the color codes for dzen2, so that you can get a nice, colored statusbar (see this sample conkyrc and the corresponding screenshot).

Other Tools

  • i3 currently uses dmenu as a launcher (by default, bound to Mod1+v)
  • i3lock - A modification of slock