]> git.sur5r.net Git - i3/i3.github.io/blobdiff - docs/4.16/gsoc2013-ideas.html
save docs for 4.16
[i3/i3.github.io] / docs / 4.16 / gsoc2013-ideas.html
diff --git a/docs/4.16/gsoc2013-ideas.html b/docs/4.16/gsoc2013-ideas.html
new file mode 100644 (file)
index 0000000..b144f29
--- /dev/null
@@ -0,0 +1,200 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
+<head>\r
+<link rel="icon" type="image/x-icon" href="/favicon.ico">\r
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
+<meta name="generator" content="AsciiDoc 8.6.9" />\r
+<title>i3: Google Summer of Code 2013 ideas</title>\r
+<link rel="stylesheet" href="/css/style.css" type="text/css" />\r
+<link rel="stylesheet" href="/css/xhtml11.css" type="text/css" />\r
+<script type="text/javascript">\r
+/*<![CDATA[*/\r
+document.addEventListener("DOMContentLoaded", function(){asciidoc.footnotes(); asciidoc.toc(2);}, false);\r
+/*]]>*/\r
+</script>\r
+<script type="text/javascript" src="/js/asciidoc-xhtml11.js"></script>\r
+</head>\r
+<body class="article">\r
+\r
+        <div id="main">\r
+            <a href="/"><h1 id="title">i3 - improved tiling WM</h1></a>\r
+                        <ul id="nav">\r
+                                <li><a style="border-bottom: 2px solid #fff" href="/docs">Docs</a></li>\r
+                                <li><a href="/screenshots">Screens</a></li>\r
+                                <li><a href="https://www.reddit.com/r/i3wm/">FAQ</a></li>\r
+                                <li><a href="/contact">Contact</a></li>\r
+                                <li><a href="https://github.com/i3/i3/issues">Bugs</a></li>\r
+                        </ul>\r
+        <br style="clear: both">\r
+<div id="content">\r
+<div id="header">\r
+<h1>Google Summer of Code 2013 ideas</h1>\r
+<span id="author">Michael Stapelberg</span><br />\r
+<span id="email"><tt>&lt;<a href="mailto:michael@i3wm.org">michael@i3wm.org</a>&gt;</tt></span><br />\r
+<span id="revdate">March 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>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_idea_1_saved_sessions_in_i3">1. Idea 1: Saved sessions in i3</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>Many desktop environments nowadays have a way of restarting the applications\r
+that you have been using when you reboot your computer.</p></div>\r
+<div class="paragraph"><p>In i3, we want to take that idea a step further: We want to make it possible\r
+for the user to define a precise layout, which is then filled with the\r
+application windows as they start up.</p></div>\r
+<div class="paragraph"><p>Many users are currently achieving a similar effect with custom scripts and\r
+lots of sleep calls to wait for applications to launch and then simulate\r
+interactive commands to move windows around.</p></div>\r
+<div class="paragraph"><p>Many of the building blocks for this feature are already in place, but there\r
+still are a few places of code that need to be touched, a specification to be\r
+written, user feedback to be gathered and documentation to be updated.</p></div>\r
+<div class="sect2">\r
+<h3 id="_desirable_skills">1.1. Desirable skills</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Experience with C (best) or similar programming languages such as Perl, C++\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Willingness and ability to write documentation\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_what_you_will_learn">1.2. What you will learn</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+How X11 and i3 work (not completely, but the most important parts)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+How to interact with users\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+What good specification and documentation entails\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_idea_2_testsuite_better_input_and_output">2. Idea 2: Testsuite: better input and output</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>i3 uses a comprehensive testsuite and cares about test-driven development as\r
+well as regression tests. While our testsuite covers quite a lot of code and\r
+works well and fest, it currently only uses the IPC interface to communicate\r
+with i3.</p></div>\r
+<div class="paragraph"><p>The current state enables us to simulate anything a user might also trigger by\r
+a keypress. This does <strong>not</strong> include dragging windows around, moving the mouse,\r
+clicking on things, or handling actual keyboard events. Furthermore, the\r
+testsuite never sees the actual output the user gets to see. Instead, it just\r
+looks at the data structures.</p></div>\r
+<div class="paragraph"><p>Therefore, it would be good to extend the testsuite so that it captures the X11\r
+output and compares it with saved images. Also, X11 input such as mouse and\r
+keyboard input should be simulated somehow (e.g. captured and replayed).</p></div>\r
+<div class="sect2">\r
+<h3 id="_desirable_skills_2">2.1. Desirable skills</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Experience with Perl or willingness to learn it\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Experience with automated software testing or at least a basic understanding\r
+  of the concepts\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Willingness to learn X11 mechanisms to capture output and simulate input\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_what_you_will_learn_2">2.2. What you will learn</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+How real-world testsuites work\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+How X11 input/output works\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+How to implement an entirely new feature into an existing codebase\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+<div class="sect1">\r
+<h2 id="_idea_3_improve_compatibility_with_certain_applications">3. Idea 3: Improve compatibility with certain Applications</h2>\r
+<div class="sectionbody">\r
+<div class="paragraph"><p>We often receive bug reports which are specific to certain toolkits and/or\r
+applications. For example, people are reporting problems with the IntelliJ IDE,\r
+Java applications in general, VMware or Half-Life (via Steam).</p></div>\r
+<div class="paragraph"><p>Most often, these problems are caused by i3 doing things slighty differently\r
+than other window managers and can be solved by observing and comparing what\r
+others do and what i3 does.</p></div>\r
+<div class="paragraph"><p>Fixing compatibility problems is a huge gain for the users of said\r
+applications.</p></div>\r
+<div class="sect2">\r
+<h3 id="_desirable_skills_3">3.1. Desirable skills</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+Some experience in debugging\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+Willingness to look at X11 traces for many minutes :)\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_what_you_will_learn_3">3.2. What you will learn</h3>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+How real-world debugging works, sometimes with open source (Java) and\r
+  sometimes with closed source applications (Half-Life, VMware)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+How X11 works\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+</div>\r
+</div>\r
+</div>\r
+<div id="footnotes"><hr /></div>\r
+<div id="footer" lang="de">\r
+© 2009-2011 Michael Stapelberg, <a href="/impress.html">Impressum</a>\r
+</div>\r
+</body>\r
+</html>\r