From: Michael Stapelberg
Date: Fri, 27 Jan 2012 19:31:05 +0000 (+0000)
Subject: add i3 4.1.2 to downloads
X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=fdb8f31619e2335615f85f04a1b2b10dfb68f42b;p=i3%2Fi3.github.io
add i3 4.1.2 to downloads
---
diff --git a/_docs/i3-input.man b/_docs/i3-input.man
index cd85c92..df7c4d9 100644
--- a/_docs/i3-input.man
+++ b/_docs/i3-input.man
@@ -1,7 +1,7 @@
i3-input(1)
=========
Michael Stapelberg
-v3.delta, November 2009
+v4.1, September 2011
== NAME
@@ -9,7 +9,7 @@ i3-input - interactively take a command for i3 window manager
== SYNOPSIS
-i3-input [-s ] [-p ] [-l ] [-P ] [-f ] [-v]
+i3-input [-s ] [-F ] [-l ] [-P ] [-f ] [-v]
== DESCRIPTION
@@ -17,19 +17,28 @@ i3-input is a tool to take commands (or parts of a command) composed by
the user, and send it/them to i3. This is useful, for example, for the
mark/goto command.
+The -F option takes a format string. In this string, every occurence of %s is
+replaced by the user input.
+
== EXAMPLE
------------------------------------------------
-i3-input -p 'mark ' -l 1 -P 'Mark: '
+i3-input -F 'mark %s' -l 1 -P 'Mark: '
------------------------------------------------
== ENVIRONMENT
=== I3SOCK
-If no ipc-socket is specified on the commandline, this variable is used
-to determine the path, at wich the unix domain socket is expected, on which
-to connect to i3.
+i3-input handles the different sources of socket paths in the following order:
+
+* I3SOCK environment variable
+* I3SOCK gets overwritten by the -s parameter, if specified
+* if neither are available, i3-input reads the socket path from the X11
+ property, which is the recommended way
+* if everything fails, i3-input tries +/tmp/i3-ipc.sock+
+
+The socket path is necessary to connect to i3 and actually issue the command.
== SEE ALSO
diff --git a/_docs/i3.man b/_docs/i3.man
index 868ff8c..2e14fce 100644
--- a/_docs/i3.man
+++ b/_docs/i3.man
@@ -238,9 +238,10 @@ bindsym Mod1+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym Mod1+Shift+e exit
-# Start i3bar to display a workspace bar (plus the system information i3status
-# finds out, if available)
-exec i3status | i3bar -d
+# display workspace buttons plus a statusline generated by i3status
+bar {
+ status_command i3status
+}
-------------------------------------------------------------
=== ~/.xsession
@@ -293,9 +294,10 @@ exec /usr/bin/i3 -V -d all >> ~/.i3/logfile
=== I3SOCK
This variable overwrites the IPC socket path (placed in
-/tmp/i3-%u/ipc-socket.%p by default, where %u is replaced with your UNIX
-username and %p is replaced with i3âs PID). The IPC socket is used by external
-programs like i3-msg(1) or i3bar(1).
+/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
diff --git a/_docs/ipc b/_docs/ipc
index 7e71326..61a85c0 100644
--- a/_docs/ipc
+++ b/_docs/ipc
@@ -1,7 +1,7 @@
IPC interface (interprocess communication)
==========================================
Michael Stapelberg
-March 2010
+October 2011
This document describes how to interface with i3 from a separate process. This
is useful for example to remote-control i3 (to write test cases for example) or
@@ -11,8 +11,10 @@ workspace bar.
The method of choice for IPC in our case is a unix socket because it has very
little overhead on both sides and is usually available without headaches in
most languages. In the default configuration file, the ipc-socket gets created
-in +/tmp/i3-%u/ipc-socket.%p+ where +%u+ is your UNIX username and +%p+ is the
-PID of i3.
+in +/tmp/i3-%u.XXXXXX/ipc-socket.%p+ where +%u+ is your UNIX username, +%p+ is
+the PID of i3 and XXXXXX is a string of random characters from the portable
+filename character set (see mkdtemp(3)). You can get the socketpath from i3 by
+calling +i3 --get-socketpath+.
All i3 utilities, like +i3-msg+ and +i3-input+ will read the +I3_SOCKET_PATH+
X11 property, stored on the X11 root window.
@@ -24,7 +26,8 @@ snippet illustrates this in Perl:
-------------------------------------------------------------
use IO::Socket::UNIX;
-my $sock = IO::Socket::UNIX->new(Peer => '/tmp/i3-ipc.sock');
+chomp(my $path = qx(i3 --get-socketpath));
+my $sock = IO::Socket::UNIX->new(Peer => $path);
-------------------------------------------------------------
== Sending messages to i3
@@ -59,6 +62,14 @@ GET_TREE (4)::
Gets the layout tree. i3 uses a tree as data structure which includes
every container. The reply will be the JSON-encoded tree (see the reply
section).
+GET_MARKS (5)::
+ Gets a list of marks (identifiers for containers to easily jump to them
+ later). The reply will be a JSON-encoded list of window marks (see
+ reply section).
+GET_BAR_CONFIG (6)::
+ Gets the configuration (as JSON map) of the workspace bar with the
+ given ID. If no ID is provided, an array with all configured bar IDs is
+ returned instead.
So, a typical message could look like this:
--------------------------------------------------
@@ -110,6 +121,10 @@ GET_OUTPUTS (3)::
Reply to the GET_OUTPUTS message.
GET_TREE (4)::
Reply to the GET_TREE message.
+GET_MARKS (5)::
+ Reply to the GET_MARKS message.
+GET_BAR_CONFIG (6)::
+ Reply to the GET_BAR_CONFIG message.
=== COMMAND reply
@@ -418,6 +433,98 @@ JSON dump:
}
------------------------
+=== GET_MARKS reply
+
+The reply consists of a single array of strings for each container that has a
+mark. The order of that array is undefined. If more than one container has the
+same mark, it will be represented multiple times in the reply (the array
+contents are not unique).
+
+If no window has a mark the response will be the empty array [].
+
+=== GET_BAR_CONFIG reply
+
+This can be used by third-party workspace bars (especially i3bar, but others
+are free to implement compatible alternatives) to get the +bar+ block
+configuration from i3.
+
+Depending on the input, the reply is either:
+
+empty input::
+ An array of configured bar IDs
+Bar ID::
+ A JSON map containing the configuration for the specified bar.
+
+Each bar configuration has the following properties:
+
+id (string)::
+ The ID for this bar. Included in case you request multiple
+ configurations and want to differentiate the different replies.
+mode (string)::
+ Either +dock+ (the bar sets the dock window type) or +hide+ (the bar
+ does not show unless a specific key is pressed).
+position (string)::
+ Either +bottom+ or +top+ at the moment.
+status_command (string)::
+ Command which will be run to generate a statusline. Each line on stdout
+ of this command will be displayed in the bar. At the moment, no
+ formatting is supported.
+font (string)::
+ The font to use for text on the bar.
+workspace_buttons (boolean)::
+ Display workspace buttons or not? Defaults to true.
+verbose (boolean)::
+ Should the bar enable verbose output for debugging? Defaults to false.
+colors (map)::
+ Contains key/value pairs of colors. Each value is a color code in hex,
+ formatted #rrggbb (like in HTML).
+
+The following colors can be configured at the moment:
+
+background::
+ Background color of the bar.
+statusline::
+ Text color to be used for the statusline.
+focused_workspace_text/focused_workspace_bg::
+ Text color/background color for a workspace button when the workspace
+ has focus.
+active_workspace_text/active_workspace_bg::
+ Text color/background color for a workspace button when the workspace
+ is active (visible) on some output, but the focus is on another one.
+ You can only tell this apart from the focused workspace when you are
+ using multiple monitors.
+inactive_workspace_text/inactive_workspace_bg::
+ Text color/background color for a workspace button when the workspace
+ does not have focus and is not active (visible) on any output. This
+ will be the case for most workspaces.
+urgent_workspace_text/urgent_workspace_bar::
+ Text color/background color for workspaces which contain at least one
+ window with the urgency hint set.
+
+
+*Example of configured bars:*
+--------------
+["bar-bxuqzf"]
+--------------
+
+*Example of bar configuration:*
+--------------
+{
+ "id": "bar-bxuqzf",
+ "mode": "dock",
+ "position": "bottom",
+ "status_command": "i3status",
+ "font": "-misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1",
+ "workspace_buttons": true,
+ "verbose": false,
+ "colors": {
+ "background": "#c0c0c0",
+ "statusline": "#00ff00",
+ "focused_workspace_text": "#ffffff",
+ "focused_workspace_bg": "#000000"
+ }
+}
+--------------
== Events
diff --git a/docs/i3.html b/docs/i3.html
index 1edda79..bdc32df 100644
--- a/docs/i3.html
+++ b/docs/i3.html
@@ -429,9 +429,10 @@ bindsym Mod1+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym Mod1+Shift+e exit
-# Start i3bar to display a workspace bar (plus the system information i3status
-# finds out, if available)
-exec i3status | i3bar -d
+# display workspace buttons plus a statusline generated by i3status
+bar {
+ status_command i3status
+}
This variable overwrites the IPC socket path (placed in
-/tmp/i3-%u/ipc-socket.%p by default, where %u is replaced with your UNIX
-username and %p is replaced with i3âs PID). The IPC socket is used by external
-programs like i3-msg(1) or i3bar(1).
+/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).
The method of choice for IPC in our case is a unix socket because it has very
little overhead on both sides and is usually available without headaches in
most languages. In the default configuration file, the ipc-socket gets created
-in /tmp/i3-%u/ipc-socket.%p where %u is your UNIX username and %p is the
-PID of i3.
+in /tmp/i3-%u.XXXXXX/ipc-socket.%p where %u is your UNIX username, %p is
+the PID of i3 and XXXXXX is a string of random characters from the portable
+filename character set (see mkdtemp(3)). You can get the socketpath from i3 by
+calling i3 --get-socketpath.
All i3 utilities, like i3-msg and i3-input will read the I3_SOCKET_PATH
X11 property, stored on the X11 root window.
@@ -60,7 +62,8 @@ snippet illustrates this in Perl:
use IO::Socket::UNIX;
-my $sock = IO::Socket::UNIX->new(Peer => '/tmp/i3-ipc.sock');
+ Gets a list of marks (identifiers for containers to easily jump to them
+ later). The reply will be a JSON-encoded list of window marks (see
+ reply section).
+
+
+
+GET_BAR_CONFIG (6)
+
+
+
+ Gets the configuration (as JSON map) of the workspace bar with the
+ given ID. If no ID is provided, an array with all configured bar IDs is
+ returned instead.
+
+
So, a typical message could look like this:
@@ -207,6 +230,22 @@ GET_TREE (4)
Reply to the GET_TREE message.
+
+GET_MARKS (5)
+
+
+
+ Reply to the GET_MARKS message.
+
+
+
+GET_BAR_CONFIG (6)
+
+
+
+ Reply to the GET_BAR_CONFIG message.
+
+
@@ -696,6 +735,193 @@ VGA1
}
+
+
3.7. GET_MARKS reply
+
The reply consists of a single array of strings for each container that has a
+mark. The order of that array is undefined. If more than one container has the
+same mark, it will be represented multiple times in the reply (the array
+contents are not unique).
+
If no window has a mark the response will be the empty array [].
+
+
+
3.8. GET_BAR_CONFIG reply
+
This can be used by third-party workspace bars (especially i3bar, but others
+are free to implement compatible alternatives) to get the bar block
+configuration from i3.
+
Depending on the input, the reply is either:
+
+
+empty input
+
+
+
+ An array of configured bar IDs
+
+
+
+Bar ID
+
+
+
+ A JSON map containing the configuration for the specified bar.
+
+
+
+
Each bar configuration has the following properties:
+
+
+id (string)
+
+
+
+ The ID for this bar. Included in case you request multiple
+ configurations and want to differentiate the different replies.
+
+
+
+mode (string)
+
+
+
+ Either dock (the bar sets the dock window type) or hide (the bar
+ does not show unless a specific key is pressed).
+
+
+
+position (string)
+
+
+
+ Either bottom or top at the moment.
+
+
+
+status_command (string)
+
+
+
+ Command which will be run to generate a statusline. Each line on stdout
+ of this command will be displayed in the bar. At the moment, no
+ formatting is supported.
+
+
+
+font (string)
+
+
+
+ The font to use for text on the bar.
+
+
+
+workspace_buttons (boolean)
+
+
+
+ Display workspace buttons or not? Defaults to true.
+
+
+
+verbose (boolean)
+
+
+
+ Should the bar enable verbose output for debugging? Defaults to false.
+
+
+
+colors (map)
+
+
+
+ Contains key/value pairs of colors. Each value is a color code in hex,
+ formatted #rrggbb (like in HTML).
+
+
+
+
The following colors can be configured at the moment:
+
+
+background
+
+
+
+ Background color of the bar.
+
+
+
+statusline
+
+
+
+ Text color to be used for the statusline.
+
+
+
+focused_workspace_text/focused_workspace_bg
+
+
+
+ Text color/background color for a workspace button when the workspace
+ has focus.
+
+
+
+active_workspace_text/active_workspace_bg
+
+
+
+ Text color/background color for a workspace button when the workspace
+ is active (visible) on some output, but the focus is on another one.
+ You can only tell this apart from the focused workspace when you are
+ using multiple monitors.
+
+
+
+inactive_workspace_text/inactive_workspace_bg
+
+
+
+ Text color/background color for a workspace button when the workspace
+ does not have focus and is not active (visible) on any output. This
+ will be the case for most workspaces.
+
+
+
+urgent_workspace_text/urgent_workspace_bar
+
+
+
+ Text color/background color for workspaces which contain at least one
+ window with the urgency hint set.
+
diff --git a/downloads/RELEASE-NOTES-4.1.2.txt b/downloads/RELEASE-NOTES-4.1.2.txt
new file mode 100644
index 0000000..90bd9ed
--- /dev/null
+++ b/downloads/RELEASE-NOTES-4.1.2.txt
@@ -0,0 +1,37 @@
+
+ ââââââââââââââââââââââââââââââââ
+ â Release notes for i3 v4.1.2 â
+ ââââââââââââââââââââââââââââââââ
+
+This is the second minor release of i3 v4.1. It is a bugfix release and
+considered stable. All users of i3 v4.1.1 are strongly encouraged to upgrade.
+
+i3 developers will be present at FOSDEM in Brussels.
+Please get in touch and have a nice chat with us :).
+
+
+ ââââââââââââââââââââââââââââââ
+ â Changes in v4.1.2 â
+ ââââââââââââââââââââââââââââââ
+
+ ⢠Bugfix: Donât lose focus on fullscreen windows when another window gets
+ moved to that workspace
+ ⢠Bugfix: Open new windows in the correct place when assignments match
+ ⢠Bugfix: Fix assignments of floating windows to (yet) unused workspaces
+ ⢠Bugfix: Either use SetInputFocus *or* send WM_TAKE_FOCUS, not both
+ ⢠Bugfix: Respect WM_HINTS.input for WM_TAKE_FOCUS clients
+ ⢠Bugfix: Setup the _NET_SUPPORTING_WM_CHECK atom in a standards-compliant way
+ ⢠Bugfix: Only ignore EnterNotify events after UnmapNotifies from managed windows
+ ⢠Bugfix: Force a new sequence number after UnmapNotify
+ ⢠Bugfix: Position floating windows exactly where their geometry specified
+ ⢠Bugfix: Fix coordinates when the rect of an output changes
+
+ ââââââââââââââââââââââââââââââ
+ â Thanks! â
+ ââââââââââââââââââââââââââââââ
+
+Thanks for testing, bugfixes, discussions and everything I forgot go out to:
+
+ B-Con, David Coppa, Don, Paul, rami, zeus
+
+-- Michael Stapelberg, 2012-01-27
diff --git a/downloads/i3-4.1.2.tar.bz2 b/downloads/i3-4.1.2.tar.bz2
new file mode 100644
index 0000000..72ebf30
Binary files /dev/null and b/downloads/i3-4.1.2.tar.bz2 differ
diff --git a/downloads/i3-4.1.2.tar.bz2.asc b/downloads/i3-4.1.2.tar.bz2.asc
new file mode 100644
index 0000000..52c6ed6
--- /dev/null
+++ b/downloads/i3-4.1.2.tar.bz2.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.11 (GNU/Linux)
+
+iQIcBAABCAAGBQJPIvpqAAoJEE5xYO1KyO4drGUQAIb497YrMh7UP8x+70XFBI/q
+aUaGCxur0IEGart3geQQ2aCm0SeHyhmeQI7qRkzMrNTXZwjiapCfkjzbumUq001Y
+UXgL1hhyDw1ync/opfjwCAYauHcgs0YhvUHwGYduKHF7ni2JuW0ezaKIyDRquwjV
+bRu/0iya3SkonsT8rZJMiFUa1vfnznuktu5CUR4PhPzlEQ2Tk9iLFSDAGTZjIsCT
+yL3FW0zAAHDjFGhyS1uPRGFUa6g0QQ4/tGygLuai5BQ4kLqwzg0yP9v5cpSdYoEN
+BJZKfvqZvHiZFUBmR2KusXsqpFUCBrgF5Q4OuGIsvtk80lHpJU1jCPiH5X/EvNsJ
+dNqB55NTcZ3u1JlsrTqmRj7C3wVA6ZnRRxp2nUKplNpI6LEYj9pD+50t7RDvW89E
+vrZNPGBrNDMUhyvDxv2imQqEEV2MTRq8ATI75dmBAZ1CWdLsxBETpV2CQeQ7Ep71
+OyMzKcmPy8gMOltNdEvwfF0KN+R4Tw69dR/zpAuG6aYyDRJv52y6xCv0I6kkEx7x
+Cr3Jmif35vuFQpg083cGXODk+sNgfiHJTO7bOQ/TMvCpEEmFie/LWMSjJegVvb5y
+mmq+KPSK7Ch2QYVhK3fh5Z8DfCR9ygUfVkxXZEr744K8OFA3Db9RGARtdnAKnYpn
+TmF8p1Vcqv2fufhYxl3+
+=EntO
+-----END PGP SIGNATURE-----
diff --git a/downloads/index.html.mako b/downloads/index.html.mako
index 4548b66..8ccac3c 100644
--- a/downloads/index.html.mako
+++ b/downloads/index.html.mako
@@ -79,7 +79,7 @@ We also provide Debian and Ubuntu repositories