Updates to allow docs and man pages to install
Joseph O'Gorman
3 years ago
56 | 56 | Architecture: any |
57 | 57 | Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends} |
58 | 58 | Provides: x-window-manager |
59 | Recommends: xfonts-base, fonts-dejavu-core, libanyevent-i3-perl (>= 0.12), libjson-xs-perl, rxvt-unicode | x-terminal-emulator | |
59 | Recommends: xfonts-base, fonts-dejavu-core, libanyevent-i3-perl (>= 0.12), libjson-xs-perl, rxvt-unicode | x-terminal-emulator, sensible-utils | |
60 | 60 | Conflicts: i3 |
61 | 61 | Description: improved dynamic tiling window manager |
62 | 62 | Key features of i3-gaps are good documentation, reasonable defaults (changeable in |
6 | 6 | |
7 | 7 | Format: HTML |
8 | 8 | Files: /usr/share/doc/i3-gaps-wm/*.html |
9 | Index: /usr/share/doc/i3-gaps-wm/userguide.html | |
9 | Index: /usr/share/doc/i3-gaps-wm/userguide |
0 | docs/debugging.html | |
1 | docs/hacking-howto.html | |
2 | docs/i3bar-protocol.html | |
3 | docs/userguide.html | |
0 | docs/debugging | |
1 | docs/hacking-howto | |
2 | docs/i3bar-protocol | |
3 | docs/userguide | |
4 | 4 | docs/bigpicture.png |
5 | 5 | docs/single_terminal.png |
6 | 6 | docs/snapping.png |
7 | 7 | docs/two_columns.png |
8 | 8 | docs/two_terminals.png |
9 | 9 | docs/modes.png |
10 | docs/ipc.html | |
11 | docs/multi-monitor.html | |
12 | docs/wsbar.html | |
10 | docs/ipc | |
11 | docs/multi-monitor | |
12 | docs/wsbar | |
13 | 13 | docs/wsbar.png |
14 | 14 | docs/keyboard-layer1.png |
15 | 15 | docs/keyboard-layer2.png |
16 | docs/testsuite.html | |
16 | docs/testsuite | |
17 | 17 | docs/i3-sync-working.png |
18 | 18 | docs/i3-sync.png |
19 | 19 | docs/tree-layout1.png |
25 | 25 | docs/refcard.html |
26 | 26 | docs/refcard_style.css |
27 | 27 | docs/logo-30.png |
28 | docs/lib-i3test.html | |
29 | docs/lib-i3test-test.html | |
30 | docs/layout-saving.html | |
28 | docs/layout-saving | |
31 | 29 | docs/layout-saving-1.png |
0 | usr/share/man/man1/i3.1.gz usr/share/man/man1/i3-with-shmlog.1.gz |
0 | man/i3.1 | |
1 | man/i3-msg.1 | |
2 | man/i3-input.1 | |
3 | man/i3-nagbar.1 | |
4 | man/i3-config-wizard.1 | |
5 | man/i3-dump-log.1 | |
6 | man/i3-migrate-config-to-v4.1 | |
7 | man/i3-sensible-pager.1 | |
8 | man/i3-sensible-editor.1 | |
9 | man/i3-sensible-terminal.1 | |
10 | man/i3-dmenu-desktop.1 | |
11 | man/i3-save-tree.1 | |
12 | man/i3bar.1 | |
0 | debian/man/i3.1 | |
1 | debian/man/i3-msg.1 | |
2 | debian/man/i3-input.1 | |
3 | debian/man/i3-nagbar.1 | |
4 | debian/man/i3-config-wizard.1 | |
5 | debian/man/i3-dump-log.1 | |
6 | debian/man/i3-migrate-config-to-v4.1 | |
7 | debian/man/i3-sensible-pager.1 | |
8 | debian/man/i3-sensible-editor.1 | |
9 | debian/man/i3-sensible-terminal.1 | |
10 | debian/man/i3bar.1 |
0 | i3-config-wizard(1) | |
1 | =================== | |
2 | Michael Stapelberg <[email protected]> | |
3 | v4.0, July 2011 | |
4 | ||
5 | == NAME | |
6 | ||
7 | i3-config-wizard - creates a keysym based config based on your layout | |
8 | ||
9 | == SYNOPSIS | |
10 | ||
11 | i3-config-wizard [*-s* 'socket'] [*-m* 'modifier'] [*-v*] [*-h*] | |
12 | ||
13 | == OPTIONS | |
14 | ||
15 | *-s, --socket* 'socket':: | |
16 | Overwrites the path to the i3 IPC socket. | |
17 | ||
18 | *-m, --modifier* 'modifier':: | |
19 | Generates the configuration file headlessly. Accepts win or alt. | |
20 | ||
21 | *-v, --version*:: | |
22 | Display version number and exit. | |
23 | ||
24 | *-h, --help*:: | |
25 | Display a short help message and exit. | |
26 | ||
27 | == FILES | |
28 | ||
29 | === /etc/i3/config.keycodes | |
30 | ||
31 | This file contains the default configuration with keycodes. All the bindcode | |
32 | lines will be transformed to bindsym and the user-specified modifier will be | |
33 | used. | |
34 | ||
35 | == DESCRIPTION | |
36 | ||
37 | i3-config-wizard is started by i3 in its default config, unless ~/.i3/config | |
38 | exists. i3-config-wizard creates a keysym based i3 config file (based on | |
39 | /etc/i3/config.keycodes) in ~/.i3/config. | |
40 | ||
41 | The advantage of using keysyms is that the config file is easy to read, | |
42 | understand and modify. However, if we shipped with a keysym based default | |
43 | config file, the key positions would not be consistent across different | |
44 | keyboard layouts (take for example the homerow for movement). Therefore, we | |
45 | ship with a keycode based default config and let the wizard transform it | |
46 | according to your current keyboard layout. | |
47 | ||
48 | == SEE ALSO | |
49 | ||
50 | i3(1) | |
51 | ||
52 | == AUTHOR | |
53 | ||
54 | Michael Stapelberg and contributors |
0 | i3-dump-log(1) | |
1 | ============== | |
2 | Michael Stapelberg <[email protected]> | |
3 | v4.6, September 2013 | |
4 | ||
5 | == NAME | |
6 | ||
7 | i3-dump-log - dumps the i3 SHM log | |
8 | ||
9 | == SYNOPSIS | |
10 | ||
11 | i3-dump-log [-s <socketpath>] [-f] | |
12 | ||
13 | == DESCRIPTION | |
14 | ||
15 | Debug versions of i3 automatically use 1% of your RAM (but 25 MiB max) to store | |
16 | full debug log output. This is extremely helpful for bugreports and | |
17 | figuring out what is going on, without permanently logging to a file. | |
18 | ||
19 | With i3-dump-log, you can dump the SHM log to stdout. | |
20 | ||
21 | The -f flag works like tail -f, i.e. the process does not terminate after | |
22 | dumping the log, but prints new lines as they appear. | |
23 | ||
24 | == EXAMPLE | |
25 | ||
26 | i3-dump-log | gzip -9 > /tmp/i3-log.gz | |
27 | ||
28 | == SEE ALSO | |
29 | ||
30 | i3(1) | |
31 | ||
32 | == AUTHOR | |
33 | ||
34 | Michael Stapelberg and contributors |
0 | i3-input(1) | |
1 | =========== | |
2 | Michael Stapelberg <[email protected]> | |
3 | v4.1.2, April 2012 | |
4 | ||
5 | == NAME | |
6 | ||
7 | i3-input - interactively take a command for i3 window manager | |
8 | ||
9 | == SYNOPSIS | |
10 | ||
11 | i3-input [-s <socket>] [-F <format>] [-l <limit>] [-P <prompt>] [-f <font>] [-v] | |
12 | ||
13 | == DESCRIPTION | |
14 | ||
15 | i3-input is a tool to take commands (or parts of a command) composed by | |
16 | the user, and send it/them to i3. This is useful, for example, for the | |
17 | mark/goto command. | |
18 | ||
19 | You can press Escape to close i3-input without sending any commands. | |
20 | ||
21 | == OPTIONS | |
22 | ||
23 | -s <socket>:: | |
24 | Specify the path to the i3 IPC socket (it should not be necessary to use this | |
25 | option, i3-input will figure out the path on its own). | |
26 | ||
27 | -F <format>:: | |
28 | Every occurrence of "%s" in the <format> string is replaced by the user input, | |
29 | and the result is sent to i3 as a command. Default value is "%s". | |
30 | ||
31 | -l <limit>:: | |
32 | Set the maximum allowed length of the user input to <limit> characters. | |
33 | i3-input will automatically issue the command when the user input reaches that | |
34 | length. | |
35 | ||
36 | -P <prompt>:: | |
37 | Display the <prompt> string in front of user input text field. | |
38 | The prompt string is not included in the user input/command. | |
39 | ||
40 | -f <font>:: | |
41 | Use the specified X11 core font (use +xfontsel+ to chose a font). | |
42 | ||
43 | -v:: | |
44 | Show version and exit. | |
45 | ||
46 | == EXAMPLES | |
47 | ||
48 | Mark a container with a single character: | |
49 | ------------------------------------------------ | |
50 | i3-input -F 'mark %s' -l 1 -P 'Mark: ' | |
51 | ------------------------------------------------ | |
52 | ||
53 | Go to the container marked with above example: | |
54 | ----------------------------------------------------- | |
55 | i3-input -F '[con_mark="%s"] focus' -l 1 -P 'Go to: ' | |
56 | ----------------------------------------------------- | |
57 | ||
58 | == ENVIRONMENT | |
59 | ||
60 | === I3SOCK | |
61 | ||
62 | i3-input handles the different sources of socket paths in the following order: | |
63 | ||
64 | * I3SOCK environment variable | |
65 | * I3SOCK gets overwritten by the -s parameter, if specified | |
66 | * if neither are available, i3-input reads the socket path from the X11 | |
67 | property, which is the recommended way | |
68 | * if everything fails, i3-input tries +/tmp/i3-ipc.sock+ | |
69 | ||
70 | The socket path is necessary to connect to i3 and actually issue the command. | |
71 | ||
72 | == SEE ALSO | |
73 | ||
74 | i3(1) | |
75 | ||
76 | == AUTHOR | |
77 | ||
78 | Michael Stapelberg and contributors |
0 | i3-migrate-config-to-v4(1) | |
1 | ========================== | |
2 | Michael Stapelberg <[email protected]> | |
3 | v4.0, July 2011 | |
4 | ||
5 | == NAME | |
6 | ||
7 | i3-migrate-config-to-v4 - migrates your i3 config file | |
8 | ||
9 | == SYNOPSIS | |
10 | ||
11 | ------------------------------------------------------- | |
12 | mv ~/.i3/config ~/.i3/old.config | |
13 | i3-migrate-config-to-v4 ~/.i3/old.config > ~/.i3/config | |
14 | ------------------------------------------------------- | |
15 | ||
16 | == DESCRIPTION | |
17 | ||
18 | i3-migrate-config-to-v4 is a Perl script which migrates your old (< version 4) | |
19 | configuration files to a version 4 config file. The most significant changes | |
20 | are the new commands (see the release notes). | |
21 | ||
22 | This script will automatically be run by i3 when it detects an old config file. | |
23 | Please migrate your config file as soon as possible. We plan to include this | |
24 | script in all i3 release until 2012-08-01. Afterwards, old config files will no | |
25 | longer be supported. | |
26 | ||
27 | == SEE ALSO | |
28 | ||
29 | i3(1) | |
30 | ||
31 | == AUTHOR | |
32 | ||
33 | Michael Stapelberg and contributors |
0 | i3-msg(1) | |
1 | ========= | |
2 | Michael Stapelberg <[email protected]> | |
3 | v4.2, August 2012 | |
4 | ||
5 | == NAME | |
6 | ||
7 | i3-msg - send messages to i3 window manager | |
8 | ||
9 | == SYNOPSIS | |
10 | ||
11 | i3-msg [-q] [-v] [-h] [-s socket] [-t type] [message] | |
12 | ||
13 | == OPTIONS | |
14 | ||
15 | *-q, --quiet*:: | |
16 | Only send ipc message and suppress the output of the response. | |
17 | ||
18 | *-v, --version*:: | |
19 | Display version number and exit. | |
20 | ||
21 | *-h, --help*:: | |
22 | Display a short help-message and exit. | |
23 | ||
24 | *-s, --socket* 'sock_path':: | |
25 | i3-msg will use the environment variable I3SOCK or the socket path | |
26 | given here. If both fail, it will try to get the socket information | |
27 | from the root window and then try /tmp/i3-ipc.sock before exiting | |
28 | with an error. | |
29 | ||
30 | *-t* 'type':: | |
31 | Send ipc message, see below. This option defaults to "command". | |
32 | ||
33 | *-m*, *--monitor*:: | |
34 | Instead of exiting right after receiving the first subscribed event, | |
35 | wait indefinitely for all of them. Can only be used with "-t subscribe". | |
36 | See the "subscribe" IPC message type below for details. | |
37 | ||
38 | *message*:: | |
39 | Send ipc message, see below. | |
40 | ||
41 | == IPC MESSAGE TYPES | |
42 | ||
43 | command:: | |
44 | The payload of the message is a command for i3 (like the commands you can bind | |
45 | to keys in the configuration file) and will be executed directly after | |
46 | receiving it. | |
47 | ||
48 | get_workspaces:: | |
49 | Gets the current workspaces. The reply will be a JSON-encoded list of | |
50 | workspaces. | |
51 | ||
52 | get_outputs:: | |
53 | Gets the current outputs. The reply will be a JSON-encoded list of outputs (see | |
54 | the reply section of docs/ipc, e.g. at | |
55 | https://i3wm.org/docs/ipc.html#_receiving_replies_from_i3). | |
56 | ||
57 | get_tree:: | |
58 | Gets the layout tree. i3 uses a tree as data structure which includes every | |
59 | container. The reply will be the JSON-encoded tree. | |
60 | ||
61 | get_marks:: | |
62 | Gets a list of marks (identifiers for containers to easily jump to them later). | |
63 | The reply will be a JSON-encoded list of window marks. | |
64 | ||
65 | get_bar_config:: | |
66 | Gets the configuration (as JSON map) of the workspace bar with the given ID. If | |
67 | no ID is provided, an array with all configured bar IDs is returned instead. | |
68 | ||
69 | get_binding_modes:: | |
70 | Gets a list of configured binding modes. | |
71 | ||
72 | get_version:: | |
73 | Gets the version of i3. The reply will be a JSON-encoded dictionary with the | |
74 | major, minor, patch and human-readable version. | |
75 | ||
76 | get_config:: | |
77 | Gets the currently loaded i3 configuration. | |
78 | ||
79 | send_tick:: | |
80 | Sends a tick to all IPC connections which subscribe to tick events. | |
81 | ||
82 | subscribe:: | |
83 | The payload of the message describes the events to subscribe to. | |
84 | Upon reception, each event will be dumped as a JSON-encoded object. | |
85 | See the -m option for continuous monitoring. | |
86 | ||
87 | == DESCRIPTION | |
88 | ||
89 | i3-msg is a sample implementation for a client using the unix socket IPC | |
90 | interface to i3. | |
91 | ||
92 | === Exit status: | |
93 | ||
94 | 0: | |
95 | if OK, | |
96 | 1: | |
97 | if invalid syntax or unable to connect to ipc-socket | |
98 | 2: | |
99 | if i3 returned an error processing your command(s) | |
100 | ||
101 | == EXAMPLES | |
102 | ||
103 | ------------------------------------------------ | |
104 | # Use 1-px border for current client | |
105 | i3-msg "border 1pixel" | |
106 | ||
107 | # You can leave out the quotes | |
108 | i3-msg border normal | |
109 | ||
110 | # Dump the layout tree | |
111 | i3-msg -t get_tree | |
112 | ||
113 | # Monitor window changes | |
114 | i3-msg -t subscribe -m '[ "window" ]' | |
115 | ------------------------------------------------ | |
116 | ||
117 | == ENVIRONMENT | |
118 | ||
119 | === I3SOCK | |
120 | ||
121 | If no ipc-socket is specified on the commandline, this variable is used | |
122 | to determine the path, at which the unix domain socket is expected, on which | |
123 | to connect to i3. | |
124 | ||
125 | == SEE ALSO | |
126 | ||
127 | i3(1) | |
128 | ||
129 | == AUTHOR | |
130 | ||
131 | Michael Stapelberg and contributors |
0 | i3-nagbar(1) | |
1 | ============ | |
2 | Michael Stapelberg <[email protected]> | |
3 | v4.0, July 2011 | |
4 | ||
5 | == NAME | |
6 | ||
7 | i3-nagbar - displays an error bar on top of your screen | |
8 | ||
9 | == SYNOPSIS | |
10 | ||
11 | i3-nagbar [-m <message>] [-b <button> <action>] [-B <button> <action>] [-t warning|error] [-f <font>] [-v] | |
12 | ||
13 | == OPTIONS | |
14 | ||
15 | *-v, --version*:: | |
16 | Display version number and exit. | |
17 | ||
18 | *-h, --help*:: | |
19 | Display a short help-message and exit. | |
20 | ||
21 | *-t, --type* 'type':: | |
22 | Display either a warning or error message. This only changes the color scheme | |
23 | for the i3-nagbar. Default: error. | |
24 | ||
25 | *-m, --message* 'message':: | |
26 | Display 'message' as text on the left of the i3-nagbar. | |
27 | ||
28 | *-f, --font* 'font':: | |
29 | Select font that is being used. | |
30 | ||
31 | *-b, --button* 'button' 'action':: | |
32 | Create a button with text 'button'. The 'action' are the shell commands that | |
33 | will be executed by this button. Multiple buttons can be defined. | |
34 | Will launch the shell commands inside a terminal emulator, using | |
35 | i3-sensible-terminal. | |
36 | ||
37 | *-B, --button-no-terminal* 'button' 'action':: | |
38 | Same as above, but will execute the shell commands directly, without launching a | |
39 | terminal emulator. | |
40 | ||
41 | == DESCRIPTION | |
42 | ||
43 | i3-nagbar is used by i3 to tell you about errors in your configuration file | |
44 | (for example). While these errors are logged to the logfile (if any), the past | |
45 | has proven that users are either not aware of their logfile or do not check it | |
46 | after modifying the configuration file. | |
47 | ||
48 | == EXAMPLE | |
49 | ||
50 | ------------------------------------------------ | |
51 | i3-nagbar -m 'You have an error in your i3 config file!' \ | |
52 | -b 'edit config' 'i3-sensible-editor ~/.config/i3/config' | |
53 | ------------------------------------------------ | |
54 | ||
55 | == SEE ALSO | |
56 | ||
57 | i3(1) | |
58 | ||
59 | == AUTHOR | |
60 | ||
61 | Michael Stapelberg and contributors |
0 | i3-sensible-editor(1) | |
1 | ===================== | |
2 | Michael Stapelberg <[email protected]> | |
3 | v4.1, November 2011 | |
4 | ||
5 | == NAME | |
6 | ||
7 | i3-sensible-editor - launches $EDITOR with fallbacks | |
8 | ||
9 | == SYNOPSIS | |
10 | ||
11 | i3-sensible-editor [arguments] | |
12 | ||
13 | == DESCRIPTION | |
14 | ||
15 | i3-sensible-editor is used by i3-nagbar(1) when you click on the edit button. | |
16 | ||
17 | It tries to start one of the following (in that order): | |
18 | ||
19 | * $VISUAL | |
20 | * $EDITOR | |
21 | * nano | |
22 | * nvim | |
23 | * vim | |
24 | * vi | |
25 | * emacs | |
26 | * pico | |
27 | * qe | |
28 | * mg | |
29 | * jed | |
30 | * gedit | |
31 | * mcedit | |
32 | * gvim | |
33 | ||
34 | Please don’t complain about the order: If the user has any preference, they will | |
35 | have $VISUAL or $EDITOR set. | |
36 | ||
37 | == SEE ALSO | |
38 | ||
39 | i3(1) | |
40 | ||
41 | == AUTHOR | |
42 | ||
43 | Michael Stapelberg and contributors |
0 | i3-sensible-pager(1) | |
1 | ==================== | |
2 | Michael Stapelberg <[email protected]> | |
3 | v4.1, November 2011 | |
4 | ||
5 | == NAME | |
6 | ||
7 | i3-sensible-pager - launches $PAGER with fallbacks | |
8 | ||
9 | == SYNOPSIS | |
10 | ||
11 | i3-sensible-pager [arguments] | |
12 | ||
13 | == DESCRIPTION | |
14 | ||
15 | i3-sensible-pager is used by i3-nagbar(1) when you click on the view button. | |
16 | ||
17 | It tries to start one of the following (in that order): | |
18 | ||
19 | * $PAGER | |
20 | * less | |
21 | * most | |
22 | * w3m | |
23 | * i3-sensible-editor(1) | |
24 | ||
25 | Please don’t complain about the order: If the user has any preference, they will | |
26 | have $PAGER set. | |
27 | ||
28 | == SEE ALSO | |
29 | ||
30 | i3(1) | |
31 | ||
32 | == AUTHOR | |
33 | ||
34 | Michael Stapelberg and contributors |
0 | i3-sensible-terminal(1) | |
1 | ======================= | |
2 | Michael Stapelberg <[email protected]> | |
3 | v4.2, August 2012 | |
4 | ||
5 | == NAME | |
6 | ||
7 | i3-sensible-terminal - launches $TERMINAL with fallbacks | |
8 | ||
9 | == SYNOPSIS | |
10 | ||
11 | i3-sensible-terminal [arguments] | |
12 | ||
13 | == DESCRIPTION | |
14 | ||
15 | i3-sensible-terminal is invoked in the i3 default config to start a terminal. | |
16 | This wrapper script is necessary since there is no distribution-independent | |
17 | terminal launcher (but for example Debian has x-terminal-emulator). | |
18 | Distribution packagers are responsible for shipping this script in a way which | |
19 | is appropriate for the distribution. | |
20 | ||
21 | It tries to start one of the following (in that order): | |
22 | ||
23 | * $TERMINAL (this is a non-standard variable) | |
24 | * x-terminal-emulator (only present on Debian and derivatives) | |
25 | * urxvt | |
26 | * rxvt | |
27 | * termit | |
28 | * terminator | |
29 | * Eterm | |
30 | * aterm | |
31 | * uxterm | |
32 | * xterm | |
33 | * gnome-terminal | |
34 | * roxterm | |
35 | * xfce4-terminal | |
36 | * termite | |
37 | * lxterminal | |
38 | * mate-terminal | |
39 | * terminology | |
40 | * st | |
41 | * qterminal | |
42 | * lilyterm | |
43 | * tilix | |
44 | * terminix | |
45 | * konsole | |
46 | * kitty | |
47 | * guake | |
48 | * tilda | |
49 | * alacritty | |
50 | * hyper | |
51 | ||
52 | Please don’t complain about the order: If the user has any preference, they will | |
53 | have $TERMINAL set or modified their i3 configuration file. | |
54 | ||
55 | == SEE ALSO | |
56 | ||
57 | i3(1) | |
58 | ||
59 | == AUTHOR | |
60 | ||
61 | Michael Stapelberg and contributors |
0 | i3(1) | |
1 | ===== | |
2 | Michael Stapelberg <[email protected]> | |
3 | v4.3, September 2012 | |
4 | ||
5 | == NAME | |
6 | ||
7 | i3 - an improved dynamic, tiling window manager | |
8 | ||
9 | == SYNOPSIS | |
10 | ||
11 | i3 [-a] [-c configfile] [-C] [-d all] [-v] [-V] | |
12 | ||
13 | == OPTIONS | |
14 | ||
15 | -a:: | |
16 | Disables autostart. | |
17 | ||
18 | -c:: | |
19 | Specifies an alternate configuration file path. | |
20 | ||
21 | -C:: | |
22 | Check the configuration file for validity and exit. | |
23 | ||
24 | -d all:: | |
25 | Enables debug logging. | |
26 | The 'all' parameter is present for historical reasons. | |
27 | ||
28 | -v:: | |
29 | Display version number (and date of the last commit). | |
30 | ||
31 | -V:: | |
32 | Be verbose. | |
33 | ||
34 | --force-xinerama:: | |
35 | Use Xinerama instead of RandR. This option should only be used if you are stuck | |
36 | with the old nVidia closed source driver (older than 302.17) which does not | |
37 | support RandR. | |
38 | ||
39 | --get-socketpath:: | |
40 | Retrieve the i3 IPC socket path from X11, print it, then exit. | |
41 | ||
42 | --shmlog-size <limit>:: | |
43 | Limits the size of the i3 SHM log to <limit> bytes. Setting this to 0 disables | |
44 | SHM logging entirely. The default is 0 bytes. | |
45 | ||
46 | == DESCRIPTION | |
47 | ||
48 | === INTRODUCTION | |
49 | ||
50 | i3 was created because wmii, our favorite window manager at the time, didn’t | |
51 | provide some features we wanted (multi-monitor done right, for example), had | |
52 | some bugs, didn’t progress since quite some time and wasn’t easy to hack at all | |
53 | (source code comments/documentation completely lacking). Still, we think the | |
54 | wmii developers and contributors did a great job. Thank you for inspiring us to | |
55 | create i3. | |
56 | ||
57 | Please be aware that i3 is primarily targeted at advanced users and developers. | |
58 | ||
59 | === IMPORTANT NOTE TO nVidia BINARY DRIVER USERS | |
60 | ||
61 | If you are using the nVidia binary graphics driver (also known as 'blob') | |
62 | before version 302.17, you need to use the +--force-xinerama+ flag (in your | |
63 | ~/.xsession) when starting i3, like so: | |
64 | ||
65 | ---------------------------------------------- | |
66 | exec i3 --force-xinerama -V >>~/.i3/i3log 2>&1 | |
67 | ---------------------------------------------- | |
68 | ||
69 | See also docs/multi-monitor for the full explanation. | |
70 | ||
71 | === TERMINOLOGY | |
72 | ||
73 | Tree:: | |
74 | i3 keeps your layout in a tree data structure. | |
75 | ||
76 | Window:: | |
77 | An X11 window, like the Firefox browser window or a terminal emulator. | |
78 | ||
79 | Floating Window:: | |
80 | A window which "floats" on top of other windows. This style is used by i3 to | |
81 | display X11 windows with type "dialog", such as the "Print" or "Open File" | |
82 | dialog boxes in many GUI applications. Use of floating windows can be | |
83 | fine-tuned with the for_window command (see HTML userguide). | |
84 | ||
85 | Split container:: | |
86 | A split container contains multiple other split containers or windows. | |
87 | + | |
88 | Containers can be used in various layouts. The default mode is called "default" | |
89 | and just resizes each client equally so that it fits. | |
90 | ||
91 | Workspace:: | |
92 | A workspace is a set of containers. Other window managers call this "Virtual | |
93 | Desktops". | |
94 | + | |
95 | In i3, each workspace is assigned to a specific virtual screen. By default, | |
96 | screen 1 has workspace 1, screen 2 has workspace 2 and so on… However, when you | |
97 | create a new workspace (by simply switching to it), it’ll be assigned the | |
98 | screen you are currently on. | |
99 | ||
100 | Output:: | |
101 | Using XRandR, you can have an X11 screen spanning multiple real monitors. | |
102 | Furthermore, you can set them up in cloning mode or with positions (monitor 1 | |
103 | is left of monitor 2). | |
104 | + | |
105 | i3 uses the RandR API to query which outputs are available and which screens | |
106 | are connected to these outputs. | |
107 | ||
108 | == KEYBINDINGS | |
109 | ||
110 | Here is a short overview of the default keybindings: | |
111 | ||
112 | Mod1+Enter:: | |
113 | Open a new terminal emulator window. | |
114 | ||
115 | Mod1+d:: | |
116 | Open dmenu for starting any application by typing (part of) its name. | |
117 | ||
118 | j/k/l/;:: | |
119 | Direction keys (left, down, up, right). They are on your homerow (see the mark | |
120 | on your "j" key). Alternatively, you can use the cursor keys. | |
121 | ||
122 | Mod1+<direction>:: | |
123 | Focus window in <direction>. | |
124 | ||
125 | Mod1+Shift+<direction>:: | |
126 | Move window to <direction>. | |
127 | ||
128 | Mod1+<number>:: | |
129 | Switch to workspace <number>. | |
130 | ||
131 | Mod1+Shift+<number>:: | |
132 | Move window to workspace <number>. | |
133 | ||
134 | Mod1+f:: | |
135 | Toggle fullscreen mode. | |
136 | ||
137 | Mod1+s:: | |
138 | Enable stacking layout for the current container. | |
139 | ||
140 | Mod1+e:: | |
141 | Enable default layout for the current container. | |
142 | ||
143 | Mod1+w:: | |
144 | Enable tabbed layout for the current container. | |
145 | ||
146 | Mod1+Shift+Space:: | |
147 | Toggle tiling/floating for the current container. | |
148 | ||
149 | Mod1+Space:: | |
150 | Select the first tiling container if the current container is floating and | |
151 | vice-versa. | |
152 | ||
153 | Mod1+Shift+q:: | |
154 | Kills the current window. This is equivalent to "clicking on the close button", | |
155 | meaning a polite request to the application to close this window. For example, | |
156 | Firefox will save its session upon such a request. If the application does not | |
157 | support that, the window will be killed and it depends on the application what | |
158 | happens. | |
159 | ||
160 | Mod1+Shift+r:: | |
161 | Restarts i3 in place. Your layout will be preserved. | |
162 | ||
163 | Mod1+Shift+e:: | |
164 | Exits i3. | |
165 | ||
166 | == FILES | |
167 | ||
168 | === \~/.config/i3/config (or ~/.i3/config) | |
169 | ||
170 | When starting, i3 looks for configuration files in the following order: | |
171 | ||
172 | 1. ~/.config/i3/config (or $XDG_CONFIG_HOME/i3/config if set) | |
173 | 2. ~/.i3/config | |
174 | 3. /etc/xdg/i3/config (or $XDG_CONFIG_DIRS/i3/config if set) | |
175 | 4. /etc/i3/config | |
176 | ||
177 | You can specify a custom path using the -c option. | |
178 | ||
179 | .Sample configuration | |
180 | ------------------------------------------------------------- | |
181 | # i3 config file (v4) | |
182 | ||
183 | # Font for window titles. Will also be used by the bar unless a different font | |
184 | # is used in the bar {} block below. | |
185 | # This font is widely installed, provides lots of unicode glyphs, right-to-left | |
186 | # text rendering and scalability on retina/hidpi displays (thanks to pango). | |
187 | font pango:DejaVu Sans Mono 8 | |
188 | # Before i3 v4.8, we used to recommend this one as the default: | |
189 | # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 | |
190 | # The font above is very space-efficient, that is, it looks good, sharp and | |
191 | # clear in small sizes. However, its unicode glyph coverage is limited, the old | |
192 | # X core fonts rendering does not support right-to-left and this being a bitmap | |
193 | # font, it doesn’t scale on retina/hidpi displays. | |
194 | ||
195 | # use Mouse+Mod1 to drag floating windows to their wanted position | |
196 | floating_modifier Mod1 | |
197 | ||
198 | # start a terminal | |
199 | bindsym Mod1+Return exec /usr/bin/urxvt | |
200 | ||
201 | # kill focused window | |
202 | bindsym Mod1+Shift+q kill | |
203 | ||
204 | # start dmenu (a program launcher) | |
205 | bindsym Mod1+d exec /usr/bin/dmenu_run | |
206 | ||
207 | # change focus | |
208 | bindsym Mod1+j focus left | |
209 | bindsym Mod1+k focus down | |
210 | bindsym Mod1+l focus up | |
211 | bindsym Mod1+semicolon focus right | |
212 | ||
213 | # alternatively, you can use the cursor keys: | |
214 | bindsym Mod1+Left focus left | |
215 | bindsym Mod1+Down focus down | |
216 | bindsym Mod1+Up focus up | |
217 | bindsym Mod1+Right focus right | |
218 | ||
219 | # move focused window | |
220 | bindsym Mod1+Shift+j move left | |
221 | bindsym Mod1+Shift+k move down | |
222 | bindsym Mod1+Shift+l move up | |
223 | bindsym Mod1+Shift+semicolon move right | |
224 | ||
225 | # alternatively, you can use the cursor keys: | |
226 | bindsym Mod1+Shift+Left move left | |
227 | bindsym Mod1+Shift+Down move down | |
228 | bindsym Mod1+Shift+Up move up | |
229 | bindsym Mod1+Shift+Right move right | |
230 | ||
231 | # split in horizontal orientation | |
232 | bindsym Mod1+h split h | |
233 | ||
234 | # split in vertical orientation | |
235 | bindsym Mod1+v split v | |
236 | ||
237 | # enter fullscreen mode for the focused container | |
238 | bindsym Mod1+f fullscreen toggle | |
239 | ||
240 | # change container layout (stacked, tabbed, default) | |
241 | bindsym Mod1+s layout stacking | |
242 | bindsym Mod1+w layout tabbed | |
243 | bindsym Mod1+e layout default | |
244 | ||
245 | # toggle tiling / floating | |
246 | bindsym Mod1+Shift+space floating toggle | |
247 | ||
248 | # change focus between tiling / floating windows | |
249 | bindsym Mod1+space focus mode_toggle | |
250 | ||
251 | # focus the parent container | |
252 | bindsym Mod1+a focus parent | |
253 | ||
254 | # focus the child container | |
255 | #bindsym Mod1+d focus child | |
256 | ||
257 | # switch to workspace | |
258 | bindsym Mod1+1 workspace 1 | |
259 | bindsym Mod1+2 workspace 2 | |
260 | # .. | |
261 | ||
262 | # move focused container to workspace | |
263 | bindsym Mod1+Shift+1 move workspace 1 | |
264 | bindsym Mod1+Shift+2 move workspace 2 | |
265 | # ... | |
266 | ||
267 | # reload the configuration file | |
268 | bindsym Mod1+Shift+c reload | |
269 | # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) | |
270 | bindsym Mod1+Shift+r restart | |
271 | # exit i3 (logs you out of your X session) | |
272 | bindsym Mod1+Shift+e exit | |
273 | ||
274 | # display workspace buttons plus a statusline generated by i3status | |
275 | bar { | |
276 | status_command i3status | |
277 | } | |
278 | ------------------------------------------------------------- | |
279 | ||
280 | === ~/.xsession | |
281 | ||
282 | This file is where you should configure your locales and start i3. It is run by | |
283 | your login manager (xdm, slim, gdm, …) as soon as you login. | |
284 | ||
285 | .Sample xsession | |
286 | ------------------------------------------------------------- | |
287 | # Disable DPMS turning off the screen | |
288 | xset -dpms | |
289 | xset s off | |
290 | ||
291 | # Disable bell | |
292 | xset -b | |
293 | ||
294 | # Enable zapping (C-A-<Bksp> kills X) | |
295 | setxkbmap -option terminate:ctrl_alt_bksp | |
296 | ||
297 | # Enforce correct locales from the beginning: | |
298 | # LC_ALL is unset since it overwrites everything | |
299 | # LANG=de_DE.UTF-8 is used, except for: | |
300 | # LC_MESSAGES=C never translates program output | |
301 | # LC_TIME=en_DK leads to yyyy-mm-dd hh:mm date/time output | |
302 | unset LC_ALL | |
303 | export LANG=de_DE.UTF-8 | |
304 | export LC_MESSAGES=C | |
305 | export LC_TIME=en_DK.UTF-8 | |
306 | ||
307 | # Use XToolkit in java applications | |
308 | export AWT_TOOLKIT=XToolkit | |
309 | ||
310 | # Set background color | |
311 | xsetroot -solid "#333333" | |
312 | ||
313 | # Enable core dumps in case something goes wrong | |
314 | ulimit -c unlimited | |
315 | ||
316 | # Start i3 and log to ~/.i3/logfile | |
317 | echo "Starting at $(date)" >> ~/.i3/logfile | |
318 | exec /usr/bin/i3 -V -d all >> ~/.i3/logfile | |
319 | ------------------------------------------------------------- | |
320 | ||
321 | == ENVIRONMENT | |
322 | ||
323 | === I3SOCK | |
324 | ||
325 | This variable overwrites the IPC socket path (placed in | |
326 | /tmp/i3-%u.XXXXXX/ipc-socket.%p by default, where %u is replaced with your UNIX | |
327 | username, %p is replaced with i3’s PID and XXXXXX is a string of random | |
328 | characters from the portable filename character set (see mkdtemp(3))). The IPC | |
329 | socket is used by external programs like i3-msg(1) or i3bar(1). | |
330 | ||
331 | == TODO | |
332 | ||
333 | There is still lot of work to do. Please check our bugtracker for up-to-date | |
334 | information about tasks which are still not finished. | |
335 | ||
336 | == SEE ALSO | |
337 | ||
338 | You should have a copy of the userguide (featuring nice screenshots/graphics | |
339 | which is why this is not integrated into this manpage), the debugging guide, | |
340 | and the "how to hack" guide. If you are building from source, run: | |
341 | +make -C docs+ | |
342 | ||
343 | You can also access these documents online at https://i3wm.org/ | |
344 | ||
345 | i3-input(1), i3-msg(1), i3bar(1), i3-nagbar(1), i3-config-wizard(1), | |
346 | i3-migrate-config-to-v4(1) | |
347 | ||
348 | == AUTHOR | |
349 | ||
350 | Michael Stapelberg and contributors |
0 | i3bar(1) | |
1 | ======== | |
2 | Axel Wagner <[email protected]> | |
3 | v4.1, October 2011 | |
4 | ||
5 | == NAME | |
6 | ||
7 | i3bar - xcb-based status- and workspace-bar | |
8 | ||
9 | == SYNOPSIS | |
10 | ||
11 | *i3bar* [*-s* 'sock_path'] [*-b* 'bar_id'] [*-v*] [*-h*] | |
12 | ||
13 | == WARNING | |
14 | ||
15 | i3bar will automatically be invoked by i3 for every 'bar' configuration block. | |
16 | ||
17 | Starting it manually is usually not what you want to do. | |
18 | ||
19 | You have been warned! | |
20 | ||
21 | == OPTIONS | |
22 | ||
23 | *-s, --socket* 'sock_path':: | |
24 | Overwrites the path to the i3 IPC socket. | |
25 | ||
26 | *-b, --bar_id* 'bar_id':: | |
27 | Specifies the bar ID for which to get the configuration from i3. | |
28 | ||
29 | *-v, --version*:: | |
30 | Display version number and exit. | |
31 | ||
32 | *-h, --help*:: | |
33 | Display a short help-message and exit | |
34 | ||
35 | == DESCRIPTION | |
36 | ||
37 | *i3bar* displays a bar at the bottom (or top) of your monitor(s) containing | |
38 | workspace switching buttons and a statusline generated by i3status(1) or | |
39 | similar. It is automatically invoked (and configured through) i3. | |
40 | ||
41 | i3bar supports colors via a JSON protocol starting from v4.2, see | |
42 | https://i3wm.org/docs/i3bar-protocol.html | |
43 | ||
44 | == ENVIRONMENT | |
45 | ||
46 | === I3SOCK | |
47 | ||
48 | Used as a fallback for the i3 IPC socket path if neither the commandline | |
49 | contains an argument nor the I3_SOCKET_PATH property is set on the X11 root | |
50 | window. | |
51 | ||
52 | == EXAMPLES | |
53 | ||
54 | Nothing to see here, move along. As stated above, you should not run i3bar manually. | |
55 | ||
56 | Instead, see the i3 documentation, especially the User’s Guide. | |
57 | ||
58 | == SEE ALSO | |
59 | ||
60 | +i3status(1)+, +j4status(1)+ or +conky(1)+ for programs generating a statusline. | |
61 | ||
62 | +dzen2(1)+ or +xmobar(1)+ for similar programs to i3bar. | |
63 | ||
64 | == AUTHORS | |
65 | ||
66 | Axel Wagner and contributors |