-You need the following libraries. The version given is to be understand as the minimum
-version. However, if any of these libraries changes the API, i3 may not compile anymore.
-In that case, please try using the versions mentioned below until a fix is provided.
- * xcb-proto-1.3 (2008-12-10)
- * libxcb-1.1.93 (2008-12-11)
- * xcb-util-0.3.3 (2009-01-31)
- * libev
- * flex and bison
- * asciidoc >= 8.3.0 for docs/hacking-howto
- * asciidoc, xmlto, docbook-xml for man/i3.man
- * Xlib, the one that comes with your X-Server
- * x11-utils for xmessage (only for displaying the welcome message, so this is
- mainly interesting for distributors)
+ i3 has the following dependencies:
-Recommendations:
- * i3lock for locking your screen
- * dmenu for launching applications
+ "min" means minimum required version
+ "lkgv" means last known good version
-Get the libraries from:
-http://xcb.freedesktop.org/dist/xcb-proto-1.5.tar.bz2
-http://xcb.freedesktop.org/dist/libxcb-1.1.93.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-util-0.3.5.tar.bz2
-http://libev.schmorp.de/
-http://flex.sourceforge.net/
-http://www.gnu.org/software/bison/
+┌─────────────┬────────┬────────┬────────────────────────────────────────┐
+│ dependency │ min. │ lkgv │ URL │
+├─────────────┼────────┼────────┼────────────────────────────────────────┤
+│ pkg-config │ 0.25 │ 0.26 │ http://pkgconfig.freedesktop.org/ │
+│ libxcb │ 1.1.93 │ 1.7 │ http://xcb.freedesktop.org/dist/ │
+│ xcb-util │ 0.3.3 │ 0.3.8 │ http://xcb.freedesktop.org/dist/ │
+│ util-cursor³│ 0.0.99 │ 0.0.99 │ http://xcb.freedesktop.org/dist/ │
+│ libev │ 4.0 │ 4.11 │ http://libev.schmorp.de/ │
+│ yajl │ 2.0.1 │ 2.0.4 │ http://lloyd.github.com/yajl/ │
+│ asciidoc │ 8.3.0 │ 8.6.4 │ http://www.methods.co.nz/asciidoc/ │
+│ xmlto │ 0.0.23 │ 0.0.23 │ http://www.methods.co.nz/asciidoc/ │
+│ Pod::Simple²│ 3.22 │ 3.22 │ http://search.cpan.org/~dwheeler/Pod-Simple-3.23/
+│ docbook-xml │ 4.5 │ 4.5 │ http://www.methods.co.nz/asciidoc/ │
+│ Xlib │ 1.3.3 │ 1.4.3 │ http://ftp.x.org/pub/current/src/lib/ │
+│ PCRE │ 8.12 │ 8.12 │ http://www.pcre.org/ │
+│ libsn¹ │ 0.10 │ 0.12 │ http://freedesktop.org/wiki/Software/startup-notification
+│ pango │ 1.30.0 | 1.30.0 │ http://www.pango.org/ │
+│ cairo │ 1.12.2 │ 1.12.2 │ http://cairographics.org/ │
+└─────────────┴────────┴────────┴────────────────────────────────────────┘
+ ¹ libsn = libstartup-notification
+ ² Pod::Simple is a Perl module required for converting the testsuite
+ documentation to HTML. See http://michael.stapelberg.de/cpan/#Pod::Simple
+ ³ xcb-util-cursor, to be precise. Might be considered part of xcb-util, or not
+ :-).
-http://i3.zekjur.net/i3lock/
-http://tools.suckless.org/dmenu
+ i3bar, i3-msg, i3-input, i3-nagbar and i3-config-wizard do not introduce any
+ new dependencies.
+
+ i3-migrate-config-to-v4 and i3-dmenu-desktop are implemented in Perl, but have
+ no dependencies besides Perl 5.10.
+
+ i3-save-tree is also implemented in Perl and needs AnyEvent::I3 and JSON::XS.
+ While i3-save-tree is not required for running i3 itself, it is strongly
+ recommended to provide it in distribution packages.