Hacking i3: How To
==================
-Michael Stapelberg <michael+i3@stapelberg.de>
-July 2011
+Michael Stapelberg <michael@i3wm.org>
+February 2013
This document is intended to be the first thing you read before looking and/or
touching i3’s source code. It should contain all important information to help
http://www.spheredev.org/wiki/Git_for_the_lazy or, for more documentation, see
http://git-scm.com/documentation
-When you want to send a patch because you fixed a bug or implemented a cool
-feature (please talk to us before working on features to see whether they are
-maybe already implemented, not possible for some some reason, or don’t fit
-into the concept), please use git to create a patchfile.
+Please talk to us before working on new features to see whether they will be
+accepted. There are a few things which we don’t want to see in i3, e.g. a
+command which will focus windows in an alt+tab like way.
-First of all, update your working copy to the latest version of the master
-branch:
+When working on bugfixes, please make sure you mention that you are working on
+it in the corresponding bugreport at http://bugs.i3wm.org/. In case there is no
+bugreport yet, please create one.
---------
-git pull
---------
+After you are done, please submit your work for review at http://cr.i3wm.org/
-Afterwards, make the necessary changes for your bugfix/feature. Then, review
-the changes using +git diff+ (you might want to enable colors in the diff using
-+git config diff.color auto+). When you are definitely done, use +git commit
--a+ to commit all changes you’ve made.
-
-Then, use the following command to generate a patchfile which we can directly
-apply to the branch, preserving your commit message and name:
-
------------------------
-git format-patch origin
------------------------
-
-Just send us the generated file via email.
+Do not send emails to the mailing list or any author directly, and don’t submit
+them in the bugtracker, since all reviews should be done in public at
+http://cr.i3wm.org/. In order to make your review go as fast as possible, you
+could have a look at previous reviews and see what the common mistakes are.
== Thought experiments
<div id="header">\r
<h1>Hacking i3: How To</h1>\r
<span id="author">Michael Stapelberg</span><br />\r
-<span id="email"><tt><<a href="mailto:michael+i3@stapelberg.de">michael+i3@stapelberg.de</a>></tt></span><br />\r
-<span id="revdate">July 2011</span>\r
+<span id="email"><tt><<a href="mailto:michael@i3wm.org">michael@i3wm.org</a>></tt></span><br />\r
+<span id="revdate">February 2013</span>\r
<div id="toc">
<div id="toctitle">Table of Contents</div>
<noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
<div class="paragraph"><p>For a short introduction into using git, see\r
<a href="http://www.spheredev.org/wiki/Git_for_the_lazy">http://www.spheredev.org/wiki/Git_for_the_lazy</a> or, for more documentation, see\r
<a href="http://git-scm.com/documentation">http://git-scm.com/documentation</a></p></div>\r
-<div class="paragraph"><p>When you want to send a patch because you fixed a bug or implemented a cool\r
-feature (please talk to us before working on features to see whether they are\r
-maybe already implemented, not possible for some some reason, or don’t fit\r
-into the concept), please use git to create a patchfile.</p></div>\r
-<div class="paragraph"><p>First of all, update your working copy to the latest version of the master\r
-branch:</p></div>\r
-<div class="listingblock">\r
-<div class="content">\r
-<pre><tt>git pull</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>Afterwards, make the necessary changes for your bugfix/feature. Then, review\r
-the changes using <tt>git diff</tt> (you might want to enable colors in the diff using\r
-<tt>git config diff.color auto</tt>). When you are definitely done, use <tt>git commit\r
--a</tt> to commit all changes you’ve made.</p></div>\r
-<div class="paragraph"><p>Then, use the following command to generate a patchfile which we can directly\r
-apply to the branch, preserving your commit message and name:</p></div>\r
-<div class="listingblock">\r
-<div class="content">\r
-<pre><tt>git format-patch origin</tt></pre>\r
-</div></div>\r
-<div class="paragraph"><p>Just send us the generated file via email.</p></div>\r
+<div class="paragraph"><p>Please talk to us before working on new features to see whether they will be\r
+accepted. There are a few things which we don’t want to see in i3, e.g. a\r
+command which will focus windows in an alt+tab like way.</p></div>\r
+<div class="paragraph"><p>When working on bugfixes, please make sure you mention that you are working on\r
+it in the corresponding bugreport at <a href="http://bugs.i3wm.org/">http://bugs.i3wm.org/</a>. In case there is no\r
+bugreport yet, please create one.</p></div>\r
+<div class="paragraph"><p>After you are done, please submit your work for review at <a href="http://cr.i3wm.org/">http://cr.i3wm.org/</a></p></div>\r
+<div class="paragraph"><p>Do not send emails to the mailing list or any author directly, and don’t submit\r
+them in the bugtracker, since all reviews should be done in public at\r
+<a href="http://cr.i3wm.org/">http://cr.i3wm.org/</a>. In order to make your review go as fast as possible, you\r
+could have a look at previous reviews and see what the common mistakes are.</p></div>\r
</div>\r
</div>\r
<div class="sect1">\r