i3

Software Screenshot:
i3
Software Details:
Version: 4.7.2
Upload Date: 19 Feb 15
Developer: Michael Stapelberg
Distribution Type: Freeware
Downloads: 14

Rating: nan/5 (Total Votes: 0)

i3 is a tiling window manager. It is completely written from scratch.

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 (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.

Goals:

Based upon the experiences we made when wanting to hack/fix wmii, we agreed upon the following goals for i3:

 1. Write well readable, well documented code. Create additional documentation on how to extend i3 by explaining its internal workings.
 This includes being modifyable by people who do know how to program but who are not necessarily familiar with all of X11’s internals. That is, document why things happen and when they happen so that the user gets a picture of the whole process a Window Manager is responsible of by just reading the source code.
 2. Use xcb as far as possible (it does not provide functions for some features yet, like XKB) instead of Xlib. xcb has a much cleaner API and should be faster in quite a lot of situations.
 3. Implement Xinerama correctly, that is by assigning each workspace to a virtual screen. Especially make sure that attaching and detaching new monitors like video projectors works during operation and does the right thing.
 4. Use the metaphor of a table for abstraction. You can create horizontal and vertical columns (in wmii, you can only create vertical columns). See the documentation for more information on how this works, it really is an important principle in i3. (TODO: documentation :-))
 5. Implement a command mode, like in vim. You can easily combine multiple actions (like focusing, moving, snapping) by using the command mode.
 6. Implement XRandR support for flipping monitors.
 7. Do not use programs such as autoconf/automake for configuration and creating unreadable/broken makefiles. Instead, use a clean makefile which automatically enables/disables features for specific platforms. Also, document the dependencies properly, so that package maintainers have an easy job packaging i3.
 8. Provide hooks/callbacks for other programs to integrate. Using this mechanism, one can easily extend i3 in whatever language, without ever touching the C code. Also, to communicate with a running i3 instance, messages can be sent.
 This approach should be more lightweight than wmii’s usage of the 9P filesystem. Furthermore, core functionality does not depend on a separate program, so that i3 runs faster, especially when your system is under load.
 9. Be UTF-8 clean.
 10. The usual elitism amongst minimal window managers: Don’t be bloated, don’t be fancy (simple borders are the most decoration we want to have), don’t add support for Xft and blurred fonts.
 However, we do not enforce unnecessary limits such as a maximum amount of source lines of code. If it needs to be a bit bigger, it will be.

Special Features

* We can bind on Mode_switch (Alt Gr). Other window managers fail to do that because of an X11-bug, which causes the modifier state to not be correctly set in KeyPress- events. We use XKB for making sure to get the correct state.

What is new in this release:

  • Compatibility was improved, in particular for Mathematica and Java applications.
  • i3-nagbar should work with more terminal emulators than before.

What is new in version 4.5.1:

  • This is a bugfix release, and all users are advised to upgrade.
  • It fixes an issue which would cause i3 to crash when dragging floating windows from one display to another.

What is new in version 4.5:

  • Most of the changes are cleanups and bugfixes.
  • Due to cleanups, i3 no longer depends on flex/bison.
  • libev ≥ 4 is now a hard dependency (libev < 4 is not supported anymore).
  • One important change to note is that moving windows to a different output will no longer move focus to that output.

What is new in version 4.4:

  • An important under-the-hood change is that this release now uses the same parser infrastructure for the configuration file as for the commands.
  • Apart from that, there have been several little fixes and additions which make i3 pay more attention to detail, particularly in the floating window area of the code. See the changes/bugfixes list for more information.
  • Do note that these changes are 4.4-specific, and since the last version released here there have been many changes.

Similar Software

qlbar
qlbar

14 Apr 15

Compiz
Compiz

17 Feb 15

Wmconfig
Wmconfig

17 Feb 15

Fluxspace
Fluxspace

3 Jun 15

Other Software of Developer Michael Stapelberg

VokabelTrainer
VokabelTrainer

3 Jan 15

lftp-vi
lftp-vi

2 Jun 15

Comments to i3

Comments not found
Add Comment
Turn on images!