X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=man%2Fi3.man;h=9d34c71038a316e01601ebe7543bffb15e7038a7;hb=1f2c9306a27cced83ad960e929bb9e9a163b7843;hp=552a395912ac74410882944e02a02bb37a45ada5;hpb=2bcf7b32d7eef6c9f42bb0662e637c73fdb5ae5f;p=i3%2Fi3 diff --git a/man/i3.man b/man/i3.man index 552a3959..9d34c710 100644 --- a/man/i3.man +++ b/man/i3.man @@ -1,7 +1,7 @@ i3(1) ===== Michael Stapelberg -v3.alpha, February 2009 +v4.0, July 2011 == NAME @@ -9,74 +9,91 @@ i3 - an improved dynamic, tiling window manager == SYNOPSIS -i3 +i3 [-a] [-c configfile] [-C] [-d ] [-v] [-V] + +== OPTIONS + +-a:: +Disables autostart. + +-c:: +Specifies an alternate configuration file path. + +-C:: +Check the configuration file for validity and exit. + +-d:: +Specifies the debug loglevel. To see the most output, use -d all. + +-v:: +Display version number (and date of the last commit). + +-V:: +Be verbose. == DESCRIPTION === INTRODUCTION i3 was created because wmii, our favorite window manager at the time, didn’t -provide some features we wanted (Xinerama done right, for example), had some -bugs, didn’t progress since quite some time and wasn’t easy to hack at all +provide some features we wanted (multi-monitor 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. -=== ABOUT THIS RELEASE +=== IMPORTANT NOTE TO nVidia BINARY DRIVER USERS + +If you are using the nVidia binary graphics driver (also known as 'blob') +you need to use the +--force-xinerama+ flag (in your ~/.xsession) when starting +i3, like so: -What you are using is i3.alpha. That means, it is a preview release, not yet fully -stable, may still contain bugs and the implementation of several behaviour is -subject to change. However, it should provide you with a pretty good picture of -how i3 will look in subsequent releases. +---------------------------------------------- +exec i3 --force-xinerama -V >>~/.i3/i3log 2>&1 +---------------------------------------------- -Please, use i3 and report all the bugs/problems you encounter by sending an -email to +See also docs/multi-monitor for the full explanation. === TERMINOLOGY -Client:: -A client is X11-speak for a window. +Tree:: +i3 keeps your layout in a tree data structure. -Table:: -Your workspace is managed using a table. You can move windows around and create new columns -(move a client to the right) or rows (move it to the bottom) implicitly. -+ -By "snapping" a client in a specific direction, you increase its colspan/rowspan. +Window:: +An X11 window, like the Firefox browser window or a terminal emulator. -Container:: -A container contains a variable number of clients. Each cell of the table is a container. +Split container:: +A split container contains multiple other split containers or windows. + -Containers can be used in various modes. The default mode is called "default" and just -resizes each client equally so that it fits. The stacking mode is currently not implemented. +Containers can be used in various layouts. The default mode is called "default" +and just resizes each client equally so that it fits. Workspace:: -A workspace is a set of clients (technically speaking, it’s just a table). Other window -managers call this "Virtual Desktops". +A workspace is a set of containers. Other window managers call this "Virtual +Desktops". + -In i3, each workspace is assigned to a specific virtual screen. By default, screen 1 -has workspace 1, screen 2 has workspace 2 and so on… However, when you create a new -workspace (by simply switching to it), it’ll be assigned the screen you are currently -on. - -Virtual Screen:: -Using Xinerama, you can have an X11 screen spanning multiple real monitors. Furthermore, -you can set them up in cloning mode or with positions (monitor 1 is left of monitor 2). +In i3, each workspace is assigned to a specific virtual screen. By default, +screen 1 has workspace 1, screen 2 has workspace 2 and so on… However, when you +create a new workspace (by simply switching to it), it’ll be assigned the +screen you are currently on. + +Output:: +Using XRandR, you can have an X11 screen spanning multiple real monitors. +Furthermore, you can set them up in cloning mode or with positions (monitor 1 +is left of monitor 2). + -A virtual screen is the result of your Xinerama setup. For example, if you have attached -two real monitors (let’s say your laptop screen and a beamer) and enabled cloning, i3 -will use one virtual screen with the size of the smallest screen you have attached (so -that you can see all your windows on each screen all the time). -If you have two monitors attached, one configured to be left of the other, i3 will use -two virtual screens. +i3 uses the RandR API to query which outputs are available and which screens +are connected to these outputs. == KEYBINDINGS Here is a short overview of the default keybindings: -h/j/k/l:: -Direction keys (left, down, up, right) +j/k/l/;:: +Direction keys (left, down, up, right). They are on your homerow (see the mark +on your "j" key). Alternatively, you can use the cursor keys. Mod1+:: Focus window in . @@ -84,70 +101,147 @@ Focus window in . Mod1+Shift+:: Move window to . -Mod1+Control+:: -Snap window to . - Mod1+:: Switch to workspace . +Mod1+Shift+:: +Move window to workspace . + Mod1+f:: Toggle fullscreen mode. Mod1+s:: Enable stacking layout for the current container. -Mod1+d:: +Mod1+e:: Enable default layout for the current container. +Mod1+w:: +Enable tabbed layout for the current container. + +Mod1+Shift+Space:: +Toggle tiling/floating for the current container. + +Mod1+Space:: +Select the first tiling container if the current container is floating and +vice-versa. + +Mod1+Shift+q:: +Kills the current window. This is equivalent to "clicking on the close button", +meaning a polite request to the application to close this window. For example, +Firefox will save its session upon such a request. If the application does not +support that, the window will be killed and it depends on the application what +happens. + +Mod1+Shift+r:: +Restarts i3 in place. Your layout will be preserved. + +Mod1+Shift+e:: +Exits i3. + == FILES -=== i3.config +=== \~/.i3/config (or ~/.config/i3/config) -When starting, i3 looks for i3.config in the current working directory and loads the -configuration. At the moment, you can specify only the path to your favorite terminal -emulator, the font and keybindings. +When starting, i3 looks for configuration files in the following order: -At the moment, you have to bind to keycodes (find them out via xev(1)). +1. ~/.config/i3/config (or $XDG_CONFIG_HOME/i3/config if set) +2. /etc/xdg/i3/config (or $XDG_CONFIG_DIRS/i3/config if set) +3. ~/.i3/config +4. /etc/i3/config + +You can specify a custom path using the -c option. .Sample configuration ------------------------------------------------------------- -terminal /usr/pkg/bin/urxvt -font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso8859-1 - -# Beamer on/off -bind Mod1+73 exec /home/michael/toggle_beamer.sh - -# Screen locking -bind Mod1+68 exec /usr/bin/slock - -# Brightness -bind Mod1+97 exec sudo sh -c "echo up > /proc/acpi/ibm/brightness" -bind Mod1+103 exec sudo sh -c "echo down > /proc/acpi/ibm/brightness" - -# Fullscreen -bind Mod1+41 f -# Stacking -bind Mod1+43 s -# Default -bind Mod1+26 d -# Focus -bind Mod1+44 h -bind Mod1+45 j -bind Mod1+46 k -bind Mod1+47 l -# Snap -bind Mod1+Control+44 sh -bind Mod1+Control+45 sj -bind Mod1+Control+46 sk -bind Mod1+Control+47 sl -# Move -bind Mod1+Shift+44 mh -bind Mod1+Shift+45 mj -bind Mod1+Shift+46 mk -bind Mod1+Shift+47 ml -# Workspaces -bind Mod1+10 1 -... +# i3 config file (v4) + +# font for window titles. ISO 10646 = Unicode +font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 + +# use Mouse+Mod1 to drag floating windows to their wanted position +floating_modifier Mod1 + +# start a terminal +bindsym Mod1+Return exec /usr/bin/urxvt + +# kill focused window +bindsym Mod1+Shift+q kill + +# start dmenu (a program launcher) +bindsym Mod1+d exec /usr/bin/dmenu_run + +# change focus +bindsym Mod1+j focus left +bindsym Mod1+k focus down +bindsym Mod1+l focus up +bindsym Mod1+semicolon focus right + +# alternatively, you can use the cursor keys: +bindsym Mod1+Left focus left +bindsym Mod1+Down focus down +bindsym Mod1+Up focus up +bindsym Mod1+Right focus right + +# move focused window +bindsym Mod1+Shift+j move left +bindsym Mod1+Shift+k move down +bindsym Mod1+Shift+l move up +bindsym Mod1+Shift+semicolon move right + +# alternatively, you can use the cursor keys: +bindsym Mod1+Shift+Left move left +bindsym Mod1+Shift+Down move down +bindsym Mod1+Shift+Up move up +bindsym Mod1+Shift+Right move right + +# split in horizontal orientation +bindsym Mod1+h split h + +# split in vertical orientation +bindsym Mod1+v split v + +# enter fullscreen mode for the focused container +bindsym Mod1+f fullscreen + +# change container layout (stacked, tabbed, default) +bindsym Mod1+s layout stacking +bindsym Mod1+w layout tabbed +bindsym Mod1+e layout default + +# toggle tiling / floating +bindsym Mod1+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym Mod1+space focus mode_toggle + +# focus the parent container +bindsym Mod1+a focus parent + +# focus the child container +#bindsym Mod1+d focus child + +# switch to workspace +bindsym Mod1+1 workspace 1 +bindsym Mod1+2 workspace 2 +# .. + +# move focused container to workspace +bindsym Mod1+Shift+1 move workspace 1 +bindsym Mod1+Shift+2 move workspace 2 +# ... + +# reload the configuration file +bindsym Mod1+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym Mod1+Shift+r restart +# exit i3 (logs you out of your X session) +bindsym Mod1+Shift+e exit + +# display workspace buttons plus a statusline generated by i3status +bar { + status_command i3status +} ------------------------------------------------------------- === ~/.xsession @@ -158,37 +252,69 @@ your login manager (xdm, slim, gdm, …) as soon as you login. .Sample xsession ------------------------------------------------------------- # Disable DPMS turning off the screen -xset dpms force on +xset -dpms xset s off + # Disable bell xset -b +# Enable zapping (C-A- kills X) +setxkbmap -option terminate:ctrl_alt_bksp + # Enforce correct locales from the beginning unset LC_COLLATE export LC_CTYPE=de_DE.UTF-8 -export LC_TIME=de_DE.ISO8859-15 -export LC_NUMERIC=de_DE.ISO8859-15 -export LC_MONETARY=de_DE.ISO8859-15 +export LC_TIME=de_DE.UTF-8 +export LC_NUMERIC=de_DE.UTF-8 +export LC_MONETARY=de_DE.UTF-8 export LC_MESSAGES=C -export LC_PAPER=de_DE.ISO8859-15 -export LC_NAME=de_DE.ISO8859-15 -export LC_ADDRESS=de_DE.ISO8859-15 -export LC_TELEPHONE=de_DE.ISO8859-15 -export LC_MEASUREMENT=de_DE.ISO8859-15 -export LC_IDENTIFICATION=de_DE.ISO8859-15 - -exec /usr/bin/i3 +export LC_PAPER=de_DE.UTF-8 +export LC_NAME=de_DE.UTF-8 +export LC_ADDRESS=de_DE.UTF-8 +export LC_TELEPHONE=de_DE.UTF-8 +export LC_MEASUREMENT=de_DE.UTF-8 +export LC_IDENTIFICATION=de_DE.UTF-8 + +# Use XToolkit in java applications +export AWT_TOOLKIT=XToolkit + +# Set background color +xsetroot -solid "#333333" + +# Enable core dumps in case something goes wrong +ulimit -c unlimited + +# Start i3 and log to ~/.i3/logfile +echo "Starting at $(date)" >> ~/.i3/logfile +exec /usr/bin/i3 -V -d all >> ~/.i3/logfile ------------------------------------------------------------- +== ENVIRONMENT + +=== I3SOCK + +This variable overwrites the IPC socket path (placed in +/tmp/i3-%u.XXXXXX/ipc-socket.%p by default, where %u is replaced with your UNIX +username, %p is replaced with i3’s PID and XXXXXX is a string of random +characters from the portable filename character set (see mkdtemp(3))). The IPC +socket is used by external programs like i3-msg(1) or i3bar(1). + == TODO -There is lots of stuff left to do. This release is to be considered as a technology preview. -Here is an overwiew of the most important points: +There is still lot of work to do. Please check our bugtracker for up-to-date +information about tasks which are still not finished. + +== SEE ALSO + +You should have a copy of the userguide (featuring nice screenshots/graphics +which is why this is not integrated into this manpage), the debugging guide, +and the "how to hack" guide. If you are building from source, run: + +make -C docs+ + +You can also access these documents online at http://i3wm.org/ - * IPC - * a command for toggling layouts/workspaces - * floating - * do something about applications which don’t use _NET_WM_STATE_FULLSCREEN (like xpdf) +i3-input(1), i3-msg(1), i3-wsbar(1), i3-nagbar(1), i3-config-wizard(1), +i3-migrate-config-to-v4(1) == AUTHOR