The i3 FAQ has migrated to https://www.reddit.com/r/i3wm/. All content here is read-only.

# Where can I find examples for i3 configurations?

I know there are (or at least should be) a default configurations at /etc/i3/config and /etc/i3/config.keycodes. But it is rather basic, intentionally so. It is designed to get one started but it does not showcase half of what i3 is actually capable of.

There is the - IMHO excellent - User's Guide that lists and explains every single command and configuration option.

And of course, there is this FAQ site that provides answers to a lot of questions, often in the form of configuration snippets.

But sometimes just knowing the parts is not enough: You may know what the parts do, you'll be able to build something, it probably will even work. But it takes time and experience to get something that works as well.

So, this question is essentially a request to share (post and/or link to) your configuration - or maybe even configurations of others you found useful. So that beginners have a starting point and experienced users a source of inspiration. There may be a lot of i3 configurations available around the Internet, but this site is the only one that is actually linked from the offical i3 website.

edit retag close merge delete

Sort by » oldest newest most voted

My personal i3 config is currently being born, so sharing it wouldn't make sense. But as I am in this state I am looking at i3 configs to get a grasp on what I could do.

You can find plenty of configs on various sites as GitHub, Arch Forums or various Subreddits (/r/i3wm, /r/unixporn, ..). (Sorry I can't post links yet..)

I hope you find something new!

more

Please do not hesitate to post your findings - and your configuration once it is finished - here. As you can see, I am not completely new to *i3* and the main intention behind the question is to gather these different configurations here where they should be found more easily.

( 2014-12-09 12:47:36 +0000 )edit

My configuration originated with i3-3.ε, when I migrated from wmii. Of course it has changed quite a bit since then - just as i3 has - but the core is the same. The current version of configuration can be found on GitHub.

I am using bindcode for my key bindings because I usually use the Neo2 keyboard layout but sometimes need to switch to QWERTZ as some programs just will not work properly with Neo2. With bindcode the i3 key bindings remain on the same physical key.

I prefer to start out with a stacked layout. If I want to actually see two windows (on the same output) at once, I usually open the new one and move it out of the stacked container. This leads than to two (or more) stacked containers side-by-side in a horizontal split container. Sometimes I also switch to vertical split. I only rarely use tabbed or horizontal split layouts (with the aforementioned exception).

Nearly all bindings start with Mod4 ("Super", "Windows-Key") as this key is conveniently unused by nearly every other Linux program. One big exception are the multi-media keys.

For directions in focusing, moving and resizing I mostly use the keys I, J, K, L (on QWERT[ZY]) with different modifiers, but I also have the Arrow keys bound. The modifier Shift usually implies movement instead of focus switch. I also have bindings that combine focusing of the parent container and focusing in a direction, which comes in handy with force_focus_wrapping yes.

Lots of workspaces! Each key of the number row (with exception of the left-most and Backspace) is bound to two workspaces, Mod4+<key> is one, Mod4+Control+<key> the other. An additional Shift is again for moving a window to a workspace. I have two displays, workspaces with keys on the left-hand side are assigned to the display on the left, workspaces with keys on the right-hand side go to the display on the right.

For starting programs I use dmenu with a dmenu_run-inspired wrapper. There is a similar wrapper for running commands with i3-msg.

(Edit: I removed the blob with my configuration, it was just to long for this format. If, for whatever reason, my GitHub repository should not be reachable, you can still find the configuration in the edit history here)

more

Not sure this is a good place to dump blobs of personal preferences. Next to questions of readability, I have had bad experiences with copy pasting a configuration that did not grow over time. My fingers do not have photographic(?) memory, and the configuration of an interactive tool should be minimal and slowly develop and grow with you.

That being said, I believe dotshare.it has some sound ideas about presenting and sharing config files. They host an interesting collection of i3-configs.

more