I3

i3 is Article description::a minimalist [[window manager, focusing on keyboard commands to manipulate windows.]] By default all windows are in full-screen in order to best maximize the use of the screen and have less fiddling with positioning. Even with the  USE flag enabled its installed size is less than 1.6 MB. It also uses less than 10 MB of RAM under normal operating conditions.

Emerge
The basic package is i3 itself

dmenu
It is also assumed that dmenu will be emerged. Available USE flags include:

i3status
i3status provides status information that can be used by i3bar which, by default, sits at the bottom of the screen. Available USE flags include:

i3blocks
A more (relative to the more popular i3status) advanced, extensively-customizable status (for the i3bar config to use) is provided by i3block. Available USE flags include:

i3lock
If one wants screen-locking it is advisable to use i3lock. USE flags include:

Configuration
i3 can be extensively customized by editing its config. The main user config file for i3 can be either in or. By default when i3 is run for the first time a new config file is added to and a dialog asks what the modifier key should be set to. The default modifier key is Alt and a popular alternative is the Super key (referred to as  in ). A popular starting point for writing the config file is copying the system config file to one of the user config locations if one is not already generated.

Adding commands
In the user config file, adding a keyboard command is as simple as adding a line. For example, adding the following to the end of the config will open the utility when ++ is pressed:

You can also have it use the default key that all other commands use by using the built-in variable:

You can also set you own variable names or override values of variables. It works by replacing text, like the c pre-processor, and has no concept other than strings.

Adding modes
You can also add in what is called a mode. An example is the resize mode for floating windows. This changes what keyboard commands are bound and will be able to run. This is useful if there is a large set of commands often run together, or that override the keys on the keyboard as in the example below which takes over the arrow keys and the vim-style movement keys.

For a complete reference, visit the i3 official user guide.

External resources

 * i3 official user guide
 * i3 reddit