From 03f639d45c120ac6a75c4323fffe35af6c3d8929 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 22:03:27 +0200 Subject: [PATCH 01/14] remove website/ from git, it got its own repository See 'i3-website' at http://code.i3wm.org/i3-website --- website/contact/index.html | 80 ----------- website/docs/building_ubuntu_9.04.html | 143 ------------------ website/docs/index.html | 90 ------------ website/downloads/index.html | 145 ------------------- website/i3lock/index.html | 90 ------------ website/i3status/index.html | 91 ------------ website/impress.html | 133 ----------------- website/index.html | 191 ------------------------- website/robots.txt | 2 - website/screenshots/index.html | 98 ------------- website/sitemap.xml | 26 ---- 11 files changed, 1089 deletions(-) delete mode 100644 website/contact/index.html delete mode 100644 website/docs/building_ubuntu_9.04.html delete mode 100644 website/docs/index.html delete mode 100644 website/downloads/index.html delete mode 100644 website/i3lock/index.html delete mode 100644 website/i3status/index.html delete mode 100644 website/impress.html delete mode 100644 website/index.html delete mode 100644 website/robots.txt delete mode 100644 website/screenshots/index.html delete mode 100644 website/sitemap.xml diff --git a/website/contact/index.html b/website/contact/index.html deleted file mode 100644 index 583d4fe0..00000000 --- a/website/contact/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - -i3 - an improved dynamic tiling window manager - - - - - - - - -

i3 - an improved dynamic tiling window manager

- - - -

- -

Contact

- -

- If you are a package maintainer and have any questions, ideas, hints, problems - or whatever, please do not hesitate to contact me. I will help you out. Just drop me an - E-Mail (scroll down to bottom), contact - me using the same address in jabber or ask on our IRC channel (see below). -

- -

IRC

- -

- Contact us at - irc://irc.twice-irc.de/i3 (or, #i3 on irc.twice-irc.de, for those without proper URL - handling setup). Feel free to ask questions, please don’t ask to ask and please - think before you ask :-). -

- - - diff --git a/website/docs/building_ubuntu_9.04.html b/website/docs/building_ubuntu_9.04.html deleted file mode 100644 index 151108a1..00000000 --- a/website/docs/building_ubuntu_9.04.html +++ /dev/null @@ -1,143 +0,0 @@ - - - -i3 - an improved dynamic tiling window manager - - - - - -

Howto build i3 on Ubuntu 9.04 for the amd64 architecture

- -

- Due to Ubuntu 9.04’s lack of recent libxcb* packages, we cannot simply provide a debian - package. The following howto will explain how to build one for yourself after downloading - the necessary libxcb* packages from Debian. -

- -

- Clone the i3 repository -

- -
-$ git clone http://code.stapelberg.de/git/i3
-
- -

- The Ubuntu repositories do not contain the required versions of several packages. Hence we need - to get them from Debian. Create a new directory for the .debs -

- -
-$ mkdir deb && cd deb
-
- -

- …and download the files -

- -
-$ wget "http://ftp.de.debian.org/debian/pool/main/libx/libx11/libx11-dev_1.2.1-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-aux0-dev_0.3.4-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-keysyms1-dev_0.3.4-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxcb/libxcb-xinerama0-dev_1.2-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-event1-dev_0.3.4-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-property1-dev_0.3.4-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-atom1-dev_0.3.4-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-icccm1-dev_0.3.4-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/a/asciidoc/asciidoc_8.4.4-1_all.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxcb/libxcb1-dev_1.2-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxdmcp/libxdmcp-dev_1.0.2-3_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/x11proto-core/x11proto-core-dev_7.0.15-1_all.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/libp/libpthread-stubs/libpthread-stubs0-dev_0.1-2_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/libp/libpthread-stubs/libpthread-stubs0_0.1-2_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxau/libxau-dev_1.0.4-2_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxau/libxau6_1.0.4-2_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxdmcp/libxdmcp-dev_1.0.2-3_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/libx/libx11/libx11-6_1.2.1-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/x11proto-input/x11proto-input-dev_1.5.0-2_all.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/x11proto-kb/x11proto-kb-dev_1.0.3-3_all.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xtrans/xtrans-dev_1.2.3-3_all.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-atom1_0.3.4-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-aux0_0.3.4-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-event1_0.3.4-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-icccm1_0.3.4-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-property1_0.3.4-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/x/xcb-util/libxcb-keysyms1_0.3.4-1_amd64.deb"
-$ wget "http://ftp.de.debian.org/debian/pool/main/libx/libxcb/libxcb-xinerama0_1.2-1_amd64.deb"
-
- -

- We install these: -

- -
-$ sudo dpkg -i *.deb
-
- -

- then change into the i3 directory and build the package: -

- -
-$ cd ../i3
-$ dpkg-buildpackage
-
- -

- and install it -

- -
-$ sudo dpkg -i ../i3-wm_1.0-1_amd64.deb
-$ sudo dpkg -i ../i3_1.0-1_amd64.deb
-
- -

- What remains is to configure i3. Create the default directory for i3’s config and copy the default config to it -

- -
-$ mkdir ~/.i3
-$ cp /etc/i3/config ~/.i3/config
-
- -

-Lastly, we need to set up i3 as default window manager. Create a new file ~/.xinitrc -

- -
-$ vim ~/.xinitrc
-
- -

- and enter the following lines: -

- -
-#!/bin/sh
-xsetroot -solid black 
-exec /usr/bin/i3
-
- -

- Close vim and create a link to ~/.xinitrc and link it to ~/.Xsession: -

- -
-$ ln -s ~/.xinitrc ~/.Xsession
-
- -

- You are done. When you are in the login screen, select "Sessions", and switch to "Default" or "Xsession" to start i3. -

diff --git a/website/docs/index.html b/website/docs/index.html deleted file mode 100644 index d6494902..00000000 --- a/website/docs/index.html +++ /dev/null @@ -1,90 +0,0 @@ - - - -i3 - an improved dynamic tiling window manager - - - - - - - - -

i3 - an improved dynamic tiling window manager

- - - -

Documentation

- -

- If you installed i3 using your distribution’s tools, you should have a man page available. - Please read it completely before asking any questions. You can view the man page using the - following command: -

- -
-  $ man i3
-
- -

- If there is no manpage, please kick your distribution’s package maintainer. You can view - an HTML version of the manpage online. -

- -

- If you are a developer and would like to get into i3’s source code, please read - "How to hack i3" first. -

- -

Howtos

- - - - - diff --git a/website/downloads/index.html b/website/downloads/index.html deleted file mode 100644 index 5e1f2045..00000000 --- a/website/downloads/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - -i3 - an improved dynamic tiling window manager - - - - - - - - -

i3 - an improved dynamic tiling window manager

- - - -

Distribution

- -

- i3 is currently distributed in the following operating systems/distributions: -

- - - -

Downloads

- -

- The current stable version is 3.β (transcribed 3.b because many systems still can’t - handle UTF-8 in version numbers). -

- - - -

Development version

- -

- Use git to follow the latest changes: -

- -
-  $ git clone git://code.stapelberg.de/i3
-
- -

- If you prefer to download a tarball, or if you cannot use git for whatever reason, - you may download the current master branch from - - http://code.stapelberg.de/git/i3/snapshot/i3-master.tar.bz2 - -

- -

Announce mailing list

- -

- If you want to be notified when a new version of i3 is released, please subscribe - to the announce mailing list by sending a mail to i3-announce-subscribe@i3.zekjur.net -

- - - diff --git a/website/i3lock/index.html b/website/i3lock/index.html deleted file mode 100644 index 0923d095..00000000 --- a/website/i3lock/index.html +++ /dev/null @@ -1,90 +0,0 @@ - - - -i3lock — a slightly improved version of slock - - - - - -

i3lock — a slightly improved version of slock

- -

- i3lock improves slock by making it fork() and therefore combinable with - commands to suspend your computer. Additionally, instead of turning off - your screen via DPMS and/or displaying a black screen, i3lock displays a - white screen so you can see if your computer failed to resume from suspend - or if your screen is just locked. Also, when entering a wrong password, - i3lock does not call XBell(). This is important because i3lock/slock think - you’ve entered a password when resuming from suspend, at least sometimes. -

- -

- Furthermore, i3lock supports PAM since version 1.0 (that is, LDAP users - can use i3lock now, too). -

- -

Releases

- - - -

Development

- -

- i3lock is currently developed at - http://code.stapelberg.de/git/i3lock. Checkouts of the master branch are intended to - be stable and working all the time. Integration of new features happens in a separate branch. -

- -

Contact

- -

- Contact us at - irc://irc.twice-irc.de/i3 (or, #i3 on irc.twice-irc.de, for those without proper URL - handling setup). Feel free to ask questions, please don’t ask to ask and please - think before you ask :-). -

- -

License

- -
-MIT/X Consortium License
-
-© 2006-2008 Anselm R Garbe 
-© 2009 Michael Stapelberg 
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-
- - - diff --git a/website/i3status/index.html b/website/i3status/index.html deleted file mode 100644 index f5c970b0..00000000 --- a/website/i3status/index.html +++ /dev/null @@ -1,91 +0,0 @@ - - - -i3status – Generates a status line for dzen2 or wmii - - - - - -

i3status

- -

- i3status is a small program (around 500 SLOC) for filling dzen2 or wmii’s status - bar via its 9P pseudo filesystem. It is designed to be very efficient by issuing - a very small number of systemcalls (as the bar should be updated every second or - at your specified interval). This ensures that even under high load, your status - bar is updated correctly and it saves a little bit of battery life by not spawning - new processes every second like shell scripts do. -

- -

Releases

- - - -

Development

- -

- i3status is currently developed at - http://code.stapelberg.de/git/i3status. Checkouts of the master branch are intended to - be stable and working all the time. Integration of new features happens in a separate branch. -

- -

Contact

- -

- Contact us at - irc://irc.twice-irc.de/i3 (or, #i3 on irc.twice-irc.de, for those without proper URL - handling setup). Feel free to ask questions, please don’t ask to ask and please - think before you ask :-). -

- -

License

- -
- Copyright © 2008-2009 Michael Stapelberg and contributors
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright notice, this
-   list of conditions and the following disclaimer in the documentation and/or other
-   materials provided with the distribution.
-
- * Neither the name of Michael Stapelberg nor the names of contributors
-   may be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
- SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- DAMAGE.
-
- - - diff --git a/website/impress.html b/website/impress.html deleted file mode 100644 index ceea240b..00000000 --- a/website/impress.html +++ /dev/null @@ -1,133 +0,0 @@ - - - -i3 - an improved dynamic tiling window manager - - - - -

Impressum

- -

- This website is hosted on a server in germany, so german law demands this: -

- -

- Angaben gemäß § 5 TMG: -

- -
- Michael Stapelberg
- Neuer Weg 16
- 69118 Heidelberg
-
- Telefon: +49 6221 1871942
- E-Mail: michael+impress@stapelberg.de -
- -

- Quelle: erstellt mit dem - Impressum-Generator Website von eRecht24. -

- -

Haftungsausschluss:

- -

Haftung für Inhalte

- -

- Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die - Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine - Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs. 1 TMG für eigene - Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach - §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, - übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach - Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. - Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach - den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung - ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung - möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir - diese Inhalte umgehend entfernen. -

- -

Haftung für Links

- -

- Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte - wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch - keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der - jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten - Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße - überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht - erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist - jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei - Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend - entfernen. -

- -

Urheberrecht

- -

- Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten - unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, - Verbreitung und jede Art der Verwertung außerhalb der Grenzen des - Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. - Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht - kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom - Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. - Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie - trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um - einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden - wir derartige Inhalte umgehend entfernen. -

- -

Datenschutz

- -

- Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener - Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise - Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit - möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre - ausdrückliche Zustimmung nicht an Dritte weitergegeben. -

- -

- Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der - Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser - Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich. -

- -

- Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten - durch Dritte zur Übersendung von nicht ausdrücklich angeforderter Werbung und - Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber - der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der - unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor. -

- -

- Quelle: Disclaimer - von eRecht24, dem Portal zum Internetrecht von Rechtsanwalt - Sören Siebert. -

- - diff --git a/website/index.html b/website/index.html deleted file mode 100644 index d72bc92e..00000000 --- a/website/index.html +++ /dev/null @@ -1,191 +0,0 @@ - - - -i3 - an improved dynamic tiling window manager - - - - - - - - -

i3 - an improved dynamic tiling window manager

- - - -

- 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. -
  3. - 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. -
  4. -
  5. - 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. -
  6. -
  7. - 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 :-)) -
  8. -
  9. - Implement a command mode, like in vim. You can easily combine multiple - actions (like focusing, moving, snapping) by using the command mode. -
  10. -
  11. - Implement XRandR support for flipping monitors. -
  12. -
  13. - 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. -
  14. -
  15. - 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. -
  16. -
  17. - Be UTF-8 clean. -
  18. -
  19. - 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. -
  20. -
- -

Special Features

- - - -

Development

- -

- i3 is currently developed at - http://code.stapelberg.de/git/i3. Checkouts of the master branch are intended to - be stable and working all the time. Integration of new features happens in a separate branch. -

- -

License

- -
-Copyright © 2009, Michael Stapelberg
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-
-    * Neither the name of Michael Stapelberg nor the
-      names of contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY Michael Stapelberg ''AS IS'' AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL Michael Stapelberg BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- - - diff --git a/website/robots.txt b/website/robots.txt deleted file mode 100644 index 4c945a0f..00000000 --- a/website/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-Agent: * -Disallow: /bugs/ diff --git a/website/screenshots/index.html b/website/screenshots/index.html deleted file mode 100644 index a46ea8eb..00000000 --- a/website/screenshots/index.html +++ /dev/null @@ -1,98 +0,0 @@ - - - -i3 - an improved dynamic tiling window manager - - - - - - - - -

i3 - an improved dynamic tiling window manager

- - - -

Screenshots

- -

- Everyone likes screenshots, so here you go: -

- - - -

Screencasts

- -

- To see what a window manager actually is like, a video is much better than pictures. Therefore, - we made screencasts: -

- - - - - diff --git a/website/sitemap.xml b/website/sitemap.xml deleted file mode 100644 index 05e6e510..00000000 --- a/website/sitemap.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - http://i3.zekjur.net/ - 2009-03-18 - daily - 0.8 - - - http://i3.zekjur.net/downloads/ - daily - - - http://i3.zekjur.net/screenshots/ - daily - 0.8 - - - http://i3.zekjur.net/contact/ - weekly - - - http://i3.zekjur.net/docs/ - daily - - From e18dd2107541cbbf4b5bf875f5919a6938910d91 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 22:07:02 +0200 Subject: [PATCH 02/14] remove old RELEASE-NOTES from git. they are archived in the i3-website git --- RELEASE-NOTES-3.a-bf1 | 54 ------------------------------------ RELEASE-NOTES-3.b | 51 ---------------------------------- RELEASE-NOTES-3.c | 41 ---------------------------- RELEASE-NOTES-3.d | 62 ------------------------------------------ RELEASE-NOTES-tree-pr1 | 45 ------------------------------ RELEASE-NOTES-tree-pr2 | 43 ----------------------------- RELEASE-NOTES-tree-pr3 | 43 ----------------------------- RELEASE-NOTES-tree-pr4 | 37 ------------------------- 8 files changed, 376 deletions(-) delete mode 100644 RELEASE-NOTES-3.a-bf1 delete mode 100644 RELEASE-NOTES-3.b delete mode 100644 RELEASE-NOTES-3.c delete mode 100644 RELEASE-NOTES-3.d delete mode 100644 RELEASE-NOTES-tree-pr1 delete mode 100644 RELEASE-NOTES-tree-pr2 delete mode 100644 RELEASE-NOTES-tree-pr3 delete mode 100644 RELEASE-NOTES-tree-pr4 diff --git a/RELEASE-NOTES-3.a-bf1 b/RELEASE-NOTES-3.a-bf1 deleted file mode 100644 index e3c51355..00000000 --- a/RELEASE-NOTES-3.a-bf1 +++ /dev/null @@ -1,54 +0,0 @@ -Release notes for i3 v3.a-bf1 ------------------------------ - -This is the first bugfix release (bf1) for version 3.a of i3. We felt it was -a good idea to release the bugfixes which were collected during the last two -months so that the users of stable releases (as opposed to users following -the git tree) enjoy a much better i3. - -I’d like to thank all contributors who made this release possible by their -support and bug reports, especially mist, mxf, Atsutane and ch3ka. - -All users of i3 3.a are encouraged to upgrade as soon as possible. - -A list of changes follows: - - * Bugfix: When entering a stack window with the mouse, set focus to the - active client in the container the stack window belongs to. - * Bugfix: Correctly filter out the numlock bit. This fixes i3 not reacting - to any keybindings after pressing numlock once. - * Bugfix: Don't crash when Xinerama is disabled. - * Bugfix: Correctly remove client from container when moving to another - workspace. - * Bugfix: Set focus to the client which was previously focused instead of - the next client in container when moving windows out of a container. - * Bugfix: Correctly set focus when switching between screens. - * Bugfix: Don't crash anymore moving focus to another screen under the - following conditions: The screen you switch to has a lower number of cells - and/or rows than the current one, you switch focus using your mouse, you - previously were in a column/row which is not available on the destination - screen. - * Bugfix: When switching screens, warp the pointer to the correct - destination window. - * Bugfix: Store dock clients per screen, not per workspace. - * Bugfix: Perform bounds checking for snapped containers. - * Bugfix: Send clients their absolute position/size (on the root window) in - generated configure events. This fixes problems with xfontsel, xmaple, - etc. - * Bugfix: Correctly update state when moving fullscreen windows across - workspaces. - * Bugfix: Correctly restart i3 when not using its absolute path - * Bugfix: Drag & Drop in GTK applications works now - * Bugfix: Don't hide non-managed windows (libnotify-popups for example) - when raising clients in stacked containers. - * Bugfix: Correctly restore focus when leaving fullscreen mode - * Bugfix: Re-distribute free space when closing customly resized containers, - re-evaluate for other containers - * Bugfix: When moving windows into different containers, insert them at the - correct position. - * Bugfix: Correctly set focus when moving windows into other containers - * Implement scrolling on stack windows and on the bottom bar. - * Create i3-wm-dbg with debug symbols - * Don't rely on libxcb-wm any longer, as it got removed in libxcb 0.3.4. - --- Michael Stapelberg, 2009-05-03 diff --git a/RELEASE-NOTES-3.b b/RELEASE-NOTES-3.b deleted file mode 100644 index 43220a4d..00000000 --- a/RELEASE-NOTES-3.b +++ /dev/null @@ -1,51 +0,0 @@ -Release notes for i3 v3.β ------------------------------ - -This is the second version (3.β, transcribed 3.b) of i3. It is considered stable. - -The most important change probably is the implementation of floating clients, -primarily useful for dialog/toolbar/popup/splash windows. When using i3 for -managing floating windows other than the ones mentioned beforehand, please -keep in mind that i3 is a tiling window manager in the first place and thus -you might better use a "traditional" window manager when having to deal a -lot with floating windows. - -Now that you’re warned, let’s have a quick glance at the other new features: - * jumping to other windows by specifying their position or window class/title - * assigning clients to specific workspaces by window class/title - * automatically starting programs (such as i3status + dzen2) - * configurable colors - * variables in configfile - -Furthermore, we now have a user’s guide which should be the first document -you read when new to i3 (apart from the manpage). - -Thanks for this release go out to mist, Atsutane, ch3ka, urs, Moredread, -badboy and all other people who reported bugs/made suggestions. - -A list of changes follows: - - * Bugfix: Correctly handle col-/rowspanned containers when setting focus. - * Bugfix: Correctly handle col-/rowspanned containers when snapping. - * Bugfix: Force reconfiguration of all windows on workspaces which are - re-assigned because a screen was detached. - * Bugfix: Several bugs in resizing table columns fixed. - * Bugfix: Resizing should now work correctly in all cases. - * Bugfix: Correctly re-assign dock windows when workspace is destroyed. - * Bugfix: Correctly handle Mode_switch modifier. - * Bugfix: Don't raise clients in fullscreen mode. - * Bugfix: Re-assign dock windows to different workspaces when a workspace - is detached. - * Bugfix: Fix crash because of workspace-pointer which did not get updated - * Bugfix: Correctly initialize screen when Xinerama is disabled. - * Bugfix: Fullscreen window movement and focus problems fixed - * Implement jumping to other windows by specifying their position or - window class/title. - * Implement jumping back by using the focus stack. - * Implement autostart (exec-command in configuration file). - * Implement floating. - * Implement automatically assigning clients on specific workspaces. - * Implement variables in configfile. - * Colors are now configurable. - --- Michael Stapelberg, 2009-06-21 diff --git a/RELEASE-NOTES-3.c b/RELEASE-NOTES-3.c deleted file mode 100644 index 8005d366..00000000 --- a/RELEASE-NOTES-3.c +++ /dev/null @@ -1,41 +0,0 @@ -Release notes for i3 v3.γ ------------------------------ - -This is the third version (3.γ, transcribed 3.c) of i3. It is considered stable. - -This release contains many small improvements like using keysymbols in the -configuration file, named workspaces, borderless windows, an IPC interface -etc. (see below for a complete list of changes) - -Thanks for this release go out to bapt, badboy, Atsutane, tsdh, xeen, mxf, -and all other people who reported bugs/made suggestions. - -Special thanks go to steckdenis, yellowiscool and farvardin who designed a logo -for i3. - -A list of changes follows: - - * Implement a reload command - * Implement keysymbols in configuration file - * Implement assignments of workspaces to screens - * Implement named workspaces - * Implement borderless/1-px-border windows - * Implement command to focus screens - * Implement IPC via unix sockets - * Correctly render decoration of floating windows - * Map floating windows requesting (0x0) to center of their leader/workspace - * Optimization: Render stack windows on pixmaps to reduce flickering - * Optimization: Directly position new windows to their final position - * Bugfix: Repeatedly try to find screens if none are available - * Bugfix: Correctly redecorate clients when changing focus - * Bugfix: Don’t crash when clients reconfigure themselves - * Bugfix: Fix screen wrapping - * Bugfix: Fix selecting a different screen with your mouse when not having - any windows on the current workspace - * Bugfix: Correctly unmap stack windows and don’t re-map them too early - * Bugfix: Allow switching layout if there are no clients in the this container - * Bugfix: Set WM_STATE_WITHDRAWN when unmapping, unmap windows when - destroying - * Bugfix: Don’t hide assigned clients to inactive but visible workspaces - --- Michael Stapelberg, 2009-08-19 diff --git a/RELEASE-NOTES-3.d b/RELEASE-NOTES-3.d deleted file mode 100644 index 83a6659c..00000000 --- a/RELEASE-NOTES-3.d +++ /dev/null @@ -1,62 +0,0 @@ -Release notes for i3 v3.δ ------------------------------ - -This is the third version (3.δ, transcribed 3.d) of i3. It is considered stable. - -This release features tabbing and some more advanced modifications of the -stacking window (see the user’s guide), vim-like marks, support for the -urgency hint, horizontal resizing of containers (finally), modes (which can -make your keybindings a lot simpler), an unlimited amount of workspaces -and several bugfixes (see below for the complete list of changes). - -Furthermore, the configuration file parsing has been rewritten to use a -lex/yacc based lexer/parser. This makes our configuration file more easy to -understand and more flexible from the point of view of a developer. For some -of the new features, you already need the new lexer/parser. To not break your -current configuration, however, the old parser is still included and used by -default. I strongly recommend you to add the flag -l when starting i3 and -switch your configuration file to the new lexer/parser. This should only -require minor changes, if at all. In the next released version of i3, the -old configuration file parsing will be removed! - -Also, this release includes the testcases which were developed in a separate -branch so far. They use Perl, together with X11::XCB, which you can download -from CPAN. Please make sure you are not doing anything important when running -the testcases, as they may modify your layout and use different workspaces. -They also might, of course, actually find bugs and crash i3 ;-). - -Thanks for this release go out to xeen, mist, badboy, Mikael, mxf, Atsutane, -tsdh, litemotiv, shatter, msi, yurifury, dirkson, Scytale, Grauwolf and all -other people who reported bugs/made suggestions. - -A list of changes follows: - - * Implement tabbing (command "T") - * Implement horizontal resize of containers (containers! not windows) - * Implement the urgency hint for windows/workspaces - * Implement vim-like marks (mark/goto command) - * Implement stack-limit for further defining how stack windows should look - * Implement modes which allow you to use a different set of keybindings - when inside a specific mode - * Implement changing the default mode of containers - * Implement long options (--version, --no-autostart, --help, --config) - * Implement 'bt' to toggle between the different border styles - * Implement an option to specify the default border style - * Use a yacc/lex parser/lexer for the configuration file - * The number of workspaces is now dynamic instead of limited to 10 - * Floating windows (and tiled containers) can now be resized using - floating_modifier and right mouse button - * Dock windows can now reconfigure their height - * Bugfix: Correctly handle multiple messages on the IPC socket - * Bugfix: Correctly use base_width, base_height and size increment hints - * Bugfix: Correctly send fake configure_notify events - * Bugfix: Don’t crash if the numlock symbol cannot be found - * Bugfix: Don’t display a colon after unnamed workspaces - * Bugfix: If the pointer is outside of the screen when starting, fall back to - the first screen. - * Bugfix: Initialize screens correctly when not using Xinerama - * Bugfix: Correctly handle unmap_notify events when resizing - * Bugfix: Correctly warp pointer after rendering the layout - * Bugfix: Fix NULL pointer dereference when reconfiguring screens - - -- Michael Stapelberg, 2009-11-09 diff --git a/RELEASE-NOTES-tree-pr1 b/RELEASE-NOTES-tree-pr1 deleted file mode 100644 index dec817fa..00000000 --- a/RELEASE-NOTES-tree-pr1 +++ /dev/null @@ -1,45 +0,0 @@ -Release notes for i3 tree-pr1 ------------------------------ - -This is a PREVIEW RELEASE for the tree branch. It is *NOT* part of i3’s regular -releases and should *NOT* be packaged in the usual way for distributions. -Instead, provide a separate, unofficial package if possible. - -The so called tree branch is the place where the next version of i3 is -developed. This time, we did a major code refactoring bringing many changes. -The idea is to use a tree as datastructure instead of separate lists (like one -for outputs, workspaces and a table for storing your window layout). - -Quite a few advantages arise from this new data structure. The most prominent -ones will be a slightly different look and feel, the possibility to store your -layout and restore it later, correct resizing, a much cleaner command parser -and more little improvements. - -As this is a preview release, some things are not working yet. Generally, -though, the core developers are using it already and think it’s good enough to -try it out. With this release, we want to gather feedback from you, so please -report any bugs you encounter in our bugtracker at http://i3.zekjur.net/bugs - -What should be working in this release? ---------------------------------------- - - • Basic window management, navigation, moving - • Fullscreen mode, correct aspect ratio - • Stacked/Tabbed layout, floating mode - • Splitting (for fancy layouts), resizing - • Restarts, preserving the layout - • i3bar, get it from http://git.merovius.de/ - -If any of these features do not work (correctly), please file a bugreport. - -What is not working in this release? ------------------------------------- - - • RandR changes (i3 needs to be restarted) - • Assignments - • Configfile compatibility - • Workspace switching is sometimes not working. If you find a pattern, please - report it. - • There are still some bugs in resizing. Please report! - - -- Michael Stapelberg, 2010-12-06 diff --git a/RELEASE-NOTES-tree-pr2 b/RELEASE-NOTES-tree-pr2 deleted file mode 100644 index 533c3c76..00000000 --- a/RELEASE-NOTES-tree-pr2 +++ /dev/null @@ -1,43 +0,0 @@ -Release notes for i3 tree-pr2 ------------------------------ - -This is the second PREVIEW RELEASE for the tree branch. It is *NOT* part of -i3’s regular releases and should *NOT* be packaged in the usual way for -distributions. Instead, provide a separate, unofficial package if possible. - -The so called tree branch is the place where the next version of i3 is -developed. This time, we did a major code refactoring bringing many changes. -The idea is to use a tree as datastructure instead of separate lists (like one -for outputs, workspaces and a table for storing your window layout). - -Quite a few advantages arise from this new data structure. The most prominent -ones will be a slightly different look and feel, the possibility to store your -layout and restore it later, correct resizing, a much cleaner command parser -and more little improvements. - -As this is a preview release, some things are not working yet. Generally, -though, the core developers are using it already and think it’s good enough to -try it out. With this release, we want to gather feedback from you, so please -report any bugs you encounter in our bugtracker at http://i3.zekjur.net/bugs - -What should be working in this release? ---------------------------------------- - - • Basic window management, navigation, moving - • Fullscreen mode, correct aspect ratio - • Stacked/Tabbed layout, floating mode - • Splitting (for fancy layouts), resizing - • Restarts (preserving the layout), crash handler - • RandR changes, keyboard layout changes - • Dock clients - • i3bar, get it from http://git.merovius.de/ - -If any of these features do not work (correctly), please file a bugreport. - -What is not working in this release? ------------------------------------- - - • Assignments - • Configfile compatibility - - -- Michael Stapelberg, 2011-03-07 diff --git a/RELEASE-NOTES-tree-pr3 b/RELEASE-NOTES-tree-pr3 deleted file mode 100644 index fd8f4c3f..00000000 --- a/RELEASE-NOTES-tree-pr3 +++ /dev/null @@ -1,43 +0,0 @@ -Release notes for i3 tree-pr3 ------------------------------ - -This is the third PREVIEW RELEASE for the tree branch. It is *NOT* part of -i3’s regular releases and should *NOT* be packaged in the usual way for -distributions. Instead, provide a separate, unofficial package if possible. - -The so called tree branch is the place where the next version of i3 is -developed. This time, we did a major code refactoring bringing many changes. -The idea is to use a tree as datastructure instead of separate lists (like one -for outputs, workspaces and a table for storing your window layout). - -Quite a few advantages arise from this new data structure. The most prominent -ones will be a slightly different look and feel, the possibility to store your -layout and restore it later, correct resizing, a much cleaner command parser -and more little improvements. - -As this is a preview release, some things are not working yet. Generally, -though, the core developers are using it already and think it’s good enough to -try it out. With this release, we want to gather feedback from you, so please -report any bugs you encounter in our bugtracker at http://bugs.i3wm.org/ - -What should be working in this release? ---------------------------------------- - - • Basic window management, navigation, moving - • Fullscreen mode, correct aspect ratio - • Stacked/Tabbed layout, floating mode - • Splitting (for fancy layouts), resizing - • Restarts (preserving the layout), crash handler - • RandR changes, keyboard layout changes - • Dock clients - • Assignments - • i3bar, get it from http://git.merovius.de/ - -If any of these features do not work (correctly), please file a bugreport. - -What is not working in this release? ------------------------------------- - - • Configfile compatibility - - -- Michael Stapelberg, 2011-05-28 diff --git a/RELEASE-NOTES-tree-pr4 b/RELEASE-NOTES-tree-pr4 deleted file mode 100644 index 9316bbaf..00000000 --- a/RELEASE-NOTES-tree-pr4 +++ /dev/null @@ -1,37 +0,0 @@ -Release notes for i3 tree-pr4 ------------------------------ - -This is the fourth PREVIEW RELEASE for the tree branch. It is *NOT* part of -i3’s regular releases and should *NOT* be packaged in the usual way for -distributions. Instead, provide a separate, unofficial package if possible. - -The so called tree branch is the place where the next version of i3 is -developed. This time, we did a major code refactoring bringing many changes. -The idea is to use a tree as datastructure instead of separate lists (like one -for outputs, workspaces and a table for storing your window layout). - -Quite a few advantages arise from this new data structure. The most prominent -ones will be a slightly different look and feel, the possibility to store your -layout and restore it later, correct resizing, a much cleaner command parser -and more little improvements. - -This release is considered a release candidate for i3 v4.0. We will not make -big changes and plan to release v4.0 in a few weeks. -With this release, we want to gather feedback from you, so please -report any bugs you encounter in our bugtracker at http://bugs.i3wm.org/ - -What should be working in this release? ---------------------------------------- - - • Basic window management, navigation, moving - • Fullscreen mode, correct aspect ratio - • Stacked/Tabbed layout, floating mode - • Splitting (for fancy layouts), resizing - • Restarts (preserving the layout), crash handler - • RandR changes, keyboard layout changes - • Dock clients - • Assignments - • Config file compatibility - • i3bar, get it from http://git.merovius.de/ - - -- Michael Stapelberg, 2011-07-15 From e0703b8150345541f6e4a5ef8757d622171d1d56 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 22:18:48 +0200 Subject: [PATCH 03/14] =?UTF-8?q?make=20dist:=20cleanup=20=CF=84=CE=B5?= =?UTF-8?q?=CF=87=20files=20before=20copying?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index a29fe59e..06063c01 100644 --- a/Makefile +++ b/Makefile @@ -99,6 +99,8 @@ dist: distclean mkdir i3-${VERSION}/docs # Pre-generate documentation make -C docs + # Cleanup τεχ output files + find docs -regex ".*\.\(aux\|out\|log\|toc\|bm\|dvi\|log\)" -exec rm '{}' \; find docs -maxdepth 1 -type f ! \( -name "*.xcf" -or -name "*.svg" \) -exec cp '{}' i3-${VERSION}/docs \; # Only copy source code from i3-input mkdir i3-${VERSION}/i3-input From d3825f88e3248db8bc3abab322280ab8e7f4835a Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 22:19:46 +0200 Subject: [PATCH 04/14] remove obsolete docs/tree-migrating --- docs/Makefile | 6 +- docs/tree-migrating | 192 -------------------------------------------- 2 files changed, 1 insertion(+), 197 deletions(-) delete mode 100644 docs/tree-migrating diff --git a/docs/Makefile b/docs/Makefile index 90abed28..9d70243d 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,5 +1,5 @@ -all: hacking-howto.html debugging.html userguide.html ipc.html multi-monitor.html wsbar.html tree-migrating.html refcard.pdf +all: hacking-howto.html debugging.html userguide.html ipc.html multi-monitor.html wsbar.html refcard.pdf hacking-howto.html: hacking-howto asciidoc -a toc -n $< @@ -10,10 +10,6 @@ debugging.html: debugging userguide.html: userguide asciidoc -a toc -n $< -tree-migrating.html: tree-migrating - asciidoc -a toc -n $< - - ipc.html: ipc asciidoc -a toc -n $< diff --git a/docs/tree-migrating b/docs/tree-migrating deleted file mode 100644 index d356bbea..00000000 --- a/docs/tree-migrating +++ /dev/null @@ -1,192 +0,0 @@ -Tree branch: Migrating -====================== -Michael Stapelberg -November 2010 - -== Introduction - -The tree branch (referring to a branch of i3 in the git repository) is the new -version of i3. Due to the very deep changes and heavy refactoring of the source -source, we decided to develop it in a separate branch (instead of using the -next/master-branch system like before). - -== Current status - -Currently, the code is mostly working. Some of the i3 core developers have been -using the tree branch version for a few weeks now. So, if you are eager to try -out the new features and help us find bugs, give it a try! - -At the same time, a word of warning is appropriate: This version of i3 might -crash unexpectedly, so please be careful with important data (do not work for -two days without saving…). - -== Getting the latest tree branch version - -Check out the latest version: ---------------------------------------------- -$ git clone -b tree git://code.stapelberg.de/i3 ---------------------------------------------- - -Then build and install it (has the same dependencies as the latest stable i3 -version): ------------------------------ -$ cd i3 -$ make -$ sudo cp i3 /usr/bin/i3-tree ------------------------------ - -…and execute +i3-tree+ instead of +i3+ in your Xsession. - -*IMPORTANT:* Please note that configuration file compatibility is not yet done. -So, make sure you use/customize the provided +i3.config+ file. - -== Tree - -The most important change and reason for the name is that i3 stores all -information about the X11 outputs, workspaces and layout of the windows on them -in a tree. The root node is the X11 root window, followed by the X11 outputs, -then workspaces and finally the windows themselve. In previous versions of i3 -we had multiple lists (of outputs, workspaces) and a table for each workspace. -That approach turned out to be complicated to use (snapping), understand and -implement. - -=== The tree consists of Containers - -The building blocks of our tree are so called +Containers+. A +Container+ can -host a window (meaning an X11 window, one that you can actually see and use, -like a browser). Alternatively, it could contain one or more +Containers+. A -simple example is the workspace: When you start i3 with a single monitor, a -single workspace and you open two terminal windows, you will end up with a tree -like this: - -image::tree-layout2.png["layout2",float="right"] -image::tree-shot4.png["shot4",title="Two terminals on standard workspace"] - -=== Orientation and Split Containers - -[[OrientationSplit]] - -It is only natural to use so-called +Split Containers+ in order to build a -layout when using a tree as data structure. In i3, every +Container+ has an -orientation (horizontal, vertical or unspecified). So, in our example with the -workspace, the default orientation of the workspace +Container+ is horizontal -(most monitors are widescreen nowadays). If you change the orientation to -vertical (+Alt+v+ in the default config) and *then* open two terminals, i3 will -configure your windows like this: - -image::tree-shot2.png["shot2",title="Vertical Workspace Orientation"] - -An interesting new feature of the tree branch is the ability to split anything: -Let’s assume you have two terminals on a workspace (with horizontal -orientation), focus is on the right terminal. Now you want to open another -terminal window below the current one. If you would just open a new terminal -window, it would show up to the right due to the horizontal workspace -orientation. Instead, press +Alt+v+ to create a +Vertical Split Container+ (to -open a +Horizontal Split Container+, use +Alt+h+). Now you can open a new -terminal and it will open below the current one: - -image::tree-layout1.png["Layout",float="right"] -image::tree-shot1.png["shot",title="Vertical Split Container"] - -unfloat::[] - -You probably guessed it already: There is no limit on how deep your hierarchy -of splits can be. - -=== Level up - -Let’s stay with our example from above. We have a terminal on the left and two -vertically split terminals on the right, focus is on the bottom right one. When -you open a new terminal, it will open below the current one. - -So, how can you open a new terminal window to the *right* of the current one? -The solution is to use +level up+, which will focus the +Parent Container+ of -the current +Container+. In this case, you would focus the +Vertical Split -Container+ which is *inside* the horizontally oriented workspace. Thus, now new -windows will be opened to the right of the +Vertical Split Container+: - -image::tree-shot3.png["shot3",title="Level Up, then open new terminal"] - -== Commands - -The authoritive reference for commands is +src/cmdparse.y+. You can also find -most commands in +i3.config+. Here comes a short overview over the important -commands: - -=== Manipulating layout - -------------------------------- -layout -------------------------------- - -=== Changing Focus - --------------------------- -next -prev --------------------------- - -.Examples: -------------------------- -bindsym Mod1+Left prev h -bindsym Mod1+Right next h -bindsym Mod1+Down next v -bindsym Mod1+Up prev v -------------------------- - -=== Moving - ------------------------------------------ -move ------------------------------------------ - -.Examples: ------------------------------------------ -bindsym Mod1+Shift+Left move before h -bindsym Mod1+Shift+Right move after h -bindsym Mod1+Shift+Down move before v -bindsym Mod1+Shift+Up move after v ------------------------------------------ - -=== Changing workspace - ---------------------------- -workspace ---------------------------- - -.Examples: ---------------------------- -bindsym Mod1+1 workspace 1 -bindsym Mod1+2 workspace 2 -… ---------------------------- - -=== Moving Containers to workspaces - ---------------------- -move workspace ---------------------- - -------------------------------------- -bindsym Mod1+Shift+1 move workspace 1 -bindsym Mod1+Shift+2 move workspace 2 -… -------------------------------------- - -=== Changing border style - ---------------------------- -border ---------------------------- - -=== Changing container mode - ------------------------------ -mode ------------------------------ - -== The rest - -What is not mentioned here explicitly is either unchanged and can be read in -the http://i3.zekjur.net/docs/userguide.html[i3 User’s Guide] or it is not yet -implemented. From f69cbfc4b21459f974077ba1c31bf8678cfcc7c2 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 22:25:37 +0200 Subject: [PATCH 05/14] update date in RELEASE-NOTES-4.0 --- RELEASE-NOTES-4.0 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE-NOTES-4.0 b/RELEASE-NOTES-4.0 index 38d2088e..a9a91134 100644 --- a/RELEASE-NOTES-4.0 +++ b/RELEASE-NOTES-4.0 @@ -132,4 +132,4 @@ Thanks for testing, bugfixes, discussions and everything I forgot go out to: mxf, phnom, quaec, rogutes, sardemff7, smartass, thepub, tiago, tucos, woddf2, xpt, ys --- Michael Stapelberg, 2011-07-24 +-- Michael Stapelberg, 2011-07-31 From 291553bf0dc82689d18c4aa12374c7a15372bd52 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 22:34:47 +0200 Subject: [PATCH 06/14] debian: update changelog --- debian/changelog | 66 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 63 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index a638750e..bfcbc324 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,68 @@ -i3-wm (4.0-0) unstable; urgency=low +i3-wm (4.0-1) unstable; urgency=low - * NOT YET RELEASED + * In addition to the proper flex/bison based parser for the config file + introduced in 3.δ, we now also have a flex/bison parser for commands. What + this means is that we can have more human-readable, beautiful command names + instead of cryptic commands like 'f' for fullscreen or 'mh' for move left. + In fact, the commands for the aforementioned functions *are* 'fullscreen' + and 'move left'! + * You can now chain commands using ';' (a semicolon). One example for that is + 'workspace 3 ; exec /usr/bin/urxvt' to switch to a new workspace and open a + terminal. + * You can specify which windows should be affected by your command by using + different criteria. A good example is '[class="Firefox"] kill' to get rid + of all Firefox windows. + * As the configuration file needs new commands (and a few options are + obsolete), you need to change it. To make this process a little bit easier + for you, this release comes with the script i3-migrate-config-to-v4.pl. Just + run it on your current config file and it will spit out a v4 config file to + stdout. To make things even better, i3 automatically detects v3 config files + and calls that script, so you never end up with a non-working config :). + * Similarly to the criteria when using commands, we now have a 'for_window' + configuration directive, which lets you automatically apply certain commands + to certain windows. Use it to set border styles per window, for example with + 'for_window [class="XTerm"] border 1pixel'. + * Since dock clients (like dzen2) are now part of the layout tree (as opposed + to a custom data structure as before), it was easy to implement top and + bottom dock areas. Programs which properly specify the dock hint get placed + on the edge of the screen they request. i3bar has the -dtop and -dbottom + parameters, for example. + * The internal workspace bar is obsolete. Use i3bar instead. + * Resizing now works between all windows! + * Fullscreen now works for everything! + * Floating now works for everything! + * Your layout is now preserved when doing an inplace restart. + * When you have an error in your config file, a new program called i3-nagbar + will tell you so. It offers you two buttons: One to view the error in your + $PAGER and one to edit your config in your $EDITOR. + * The default config used key symbols (like 'bind Mod1+f fullscreen') instead + of key codes. If you use a non-qwerty layout, the program i3-config-wizard + can create a key symbol based config file based on your current layout. You + can also chose between Windows (Mod4) and Alt (Mod1) as your default + modifier. i3-config-wizard will automatically be started as long as you + don’t have a configuration file for i3. + * Custom X cursor themes are now supported. + * The RandR backend now respects the primary output. + * A wrong 'font' configuration in your config file will no longer make i3 + exit. Instead, it will fall back to a different font and tell you about the + error in its log. + * The default split direction (whether a new window gets placed right next to + the current one or below the current one) is now automatically set to + horizontal if you have a monitor that is wider than high or vertical if you + a monitor which is higher than wide. This works great with rotated monitors. + * Sockets and temporary files are now placed in XDG_RUNTIME_DIR, if set (this + is used on systemd based systems). + * Tools like i3bar, i3-msg etc. use the I3_SOCKET_PATH property which is set + to the X11 root window, so you don’t have to configure your socket path + anywhere. + * The kill command kills single windows by default now. To kill a whole + application, use 'kill client'. + * IPC: Commands can now have custom replies. When the parser encounters an + error, a proper error reply is sent. + * There is now an 'exec_always' configuration directive which works like + 'exec' but will also be run when restarting. - -- Michael Stapelberg Sun, 24 Jul 2011 00:10:30 +0200 + -- Michael Stapelberg Sun, 31 Jul 2011 22:34:26 +0200 i3-wm (3.e-bf1-3) unstable; urgency=low From 7f4af2c59903a073058e284489b0303b1a13d392 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 22:41:47 +0200 Subject: [PATCH 07/14] debian: bump standards-version, update website --- debian/control | 4 ++-- debian/copyright | 6 +++--- debian/watch | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/debian/control b/debian/control index a2a83726..615a5181 100644 --- a/debian/control +++ b/debian/control @@ -4,8 +4,8 @@ Priority: extra Maintainer: Michael Stapelberg DM-Upload-Allowed: yes Build-Depends: debhelper (>= 6), libx11-dev, libxcb-util0-dev (>= 0.3.8), libxcb-keysyms1-dev, libxcb-xinerama0-dev (>= 1.1), libxcb-randr0-dev, libxcb-icccm4-dev, libxcursor-dev, asciidoc (>= 8.4.4), xmlto, docbook-xml, pkg-config, libev-dev, flex, bison, libyajl-dev, perl, texlive-latex-base, texlive-latex-recommended, texlive-latex-extra -Standards-Version: 3.9.1 -Homepage: http://i3.zekjur.net/ +Standards-Version: 3.9.2 +Homepage: http://i3wm.org/ Package: i3 Architecture: any diff --git a/debian/copyright b/debian/copyright index fd190bff..46a3d791 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,7 +1,7 @@ This Debian package is based on a tarball downloaded from -http://i3.zekjur.net +http://i3wm.org/ -Copyright: (C) 2009 Michael Stapelberg +Copyright: (C) 2009-2011 Michael Stapelberg All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -14,7 +14,7 @@ are permitted provided that the following conditions are met: list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of Michael Stapelberg, wiipdf nor the names of its contributors +* Neither the name of Michael Stapelberg, i3 nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. diff --git a/debian/watch b/debian/watch index b800f77f..ab71a19e 100644 --- a/debian/watch +++ b/debian/watch @@ -1,2 +1,2 @@ version=3 -http://i3.zekjur.net/downloads/ /downloads/i3-(.*)\.tar\.bz2 +http://i3wm.org/downloads/ /downloads/i3-(.*)\.tar\.bz2 From 49cf7ff2d7e4d6df6dcdf5a85f9dafe156826540 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 23:01:16 +0200 Subject: [PATCH 08/14] makefile: use $SUBDIRS for clean/distclean --- Makefile | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 06063c01..7a904320 100644 --- a/Makefile +++ b/Makefile @@ -117,17 +117,19 @@ clean: (which lcov >/dev/null && lcov -d . --zerocounters) || true $(MAKE) -C docs clean $(MAKE) -C man clean - $(MAKE) TOPDIR=$(TOPDIR) -C i3-msg clean - $(MAKE) TOPDIR=$(TOPDIR) -C i3-input clean - $(MAKE) TOPDIR=$(TOPDIR) -C i3-nagbar clean - $(MAKE) TOPDIR=$(TOPDIR) -C i3-config-wizard clean + for dir in $(SUBDIRS); do \ + echo ""; \ + echo "CLEAN $$dir"; \ + $(MAKE) TOPDIR=$(TOPDIR) -C $$dir distclean; \ + done distclean: clean rm -f i3 - $(MAKE) TOPDIR=$(TOPDIR) -C i3-msg distclean - $(MAKE) TOPDIR=$(TOPDIR) -C i3-input distclean - $(MAKE) TOPDIR=$(TOPDIR) -C i3-nagbar distclean - $(MAKE) TOPDIR=$(TOPDIR) -C i3-config-wizard distclean + for dir in $(SUBDIRS); do \ + echo ""; \ + echo "DISTCLEAN $$dir"; \ + $(MAKE) TOPDIR=$(TOPDIR) -C $$dir distclean; \ + done coverage: rm -f /tmp/i3-coverage.info From 2aa5f4e231353f40d8fdaee890fa8cad2eb8cfca Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 23:08:25 +0200 Subject: [PATCH 09/14] add a manpage for i3-config-wizard --- man/Makefile | 4 ++-- man/i3-config-wizard.man | 41 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 man/i3-config-wizard.man diff --git a/man/Makefile b/man/Makefile index ed72ebed..651e962a 100644 --- a/man/Makefile +++ b/man/Makefile @@ -1,6 +1,6 @@ A2M:=a2x -f manpage --asciidoc-opts="-f asciidoc.conf" -all: i3.1 i3-msg.1 i3-input.1 i3-nagbar.1 i3-wsbar.1 +all: i3.1 i3-msg.1 i3-input.1 i3-nagbar.1 i3-wsbar.1 i3-config-wizard.1 %.1: %.man asciidoc.conf ${A2M} $< @@ -9,7 +9,7 @@ i3-wsbar.1: ../i3-wsbar pod2man $^ > $@ clean: - for file in $$(echo i3 i3-msg i3-input i3-nagbar i3-wsbar); \ + for file in $$(echo i3 i3-msg i3-input i3-nagbar i3-wsbar i3-config-wizard); \ do \ rm -f $${file}.1 $${file}.html $${file}.xml; \ done diff --git a/man/i3-config-wizard.man b/man/i3-config-wizard.man new file mode 100644 index 00000000..5a9ca39e --- /dev/null +++ b/man/i3-config-wizard.man @@ -0,0 +1,41 @@ +i3-config-wizard(1) +=================== +Michael Stapelberg +v4.0, July 2011 + +== NAME + +i3-config-wizard - creates a keysym based config based on your layout + +== SYNOPSIS + +i3-config-wizard + +== FILES + +=== /etc/i3/config.keycodes + +This file contains the default configuration with keycodes. All the bindcode +lines will be transformed to bindsym and the user-specified modifier will be +used. + +== DESCRIPTION + +i3-config-wizard is started by i3 in its default config, unless ~/.i3/config +exists. i3-config-wizard creates a keysym based i3 config file (based on +/etc/i3/config.keycodes) in ~/.i3/config. + +The advantage of using keysyms is that the config file is easy to read, +understand and modify. However, if we shipped with a keysym based default +config file, the key positions would not be consistent across different +keyboard layouts (take for example the homerow for movement). Therefore, we +ship with a keycode based default config and let the wizard transform it +according to your current keyboard layout. + +== SEE ALSO + +i3(1) + +== AUTHOR + +Michael Stapelberg and contributors From 8353b9625d8da911c7fff35e74f321d356f3aa2c Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 23:11:05 +0200 Subject: [PATCH 10/14] i3-migrate-config-to-v4: drop the .pl suffix As lintian (a Debian package checker) mentions, it is more clever to install it without the extension, since the implementation language might change. --- DEPENDS | 2 +- Makefile | 4 ++-- PACKAGE-MAINTAINER | 2 +- RELEASE-NOTES-4.0 | 2 +- debian/changelog | 2 +- i3-migrate-config-to-v4.pl => i3-migrate-config-to-v4 | 0 src/cfgparse.y | 8 ++++---- testcases/t/71-config-migrate.t | 4 ++-- 8 files changed, 12 insertions(+), 12 deletions(-) rename i3-migrate-config-to-v4.pl => i3-migrate-config-to-v4 (100%) diff --git a/DEPENDS b/DEPENDS index 71abc3b2..ea7133a5 100644 --- a/DEPENDS +++ b/DEPENDS @@ -35,5 +35,5 @@ All of them are available at CPAN, see http://search.cpan.org/ Use your distribution’s packages or cpan(1) to install them. - i3-migrate-config-to-v4.pl is implemented in Perl, but it has no dependencies + i3-migrate-config-to-v4 is implemented in Perl, but it has no dependencies besides Perl 5.10. diff --git a/Makefile b/Makefile index 7a904320..3bdffbb4 100644 --- a/Makefile +++ b/Makefile @@ -79,7 +79,7 @@ install: all $(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/include/i3 $(INSTALL) -d -m 0755 $(DESTDIR)$(PREFIX)/share/xsessions $(INSTALL) -m 0755 i3 $(DESTDIR)$(PREFIX)/bin/ - $(INSTALL) -m 0755 i3-migrate-config-to-v4.pl $(DESTDIR)$(PREFIX)/bin/ + $(INSTALL) -m 0755 i3-migrate-config-to-v4 $(DESTDIR)$(PREFIX)/bin/ test -e $(DESTDIR)$(SYSCONFDIR)/i3/config || $(INSTALL) -m 0644 i3.config $(DESTDIR)$(SYSCONFDIR)/i3/config test -e $(DESTDIR)$(SYSCONFDIR)/i3/config.keycodes || $(INSTALL) -m 0644 i3.config.keycodes $(DESTDIR)$(SYSCONFDIR)/i3/config.keycodes $(INSTALL) -m 0644 i3.welcome $(DESTDIR)$(SYSCONFDIR)/i3/welcome @@ -93,7 +93,7 @@ dist: distclean [ ! -d i3-${VERSION} ] || rm -rf i3-${VERSION} [ ! -e i3-${VERSION}.tar.bz2 ] || rm i3-${VERSION}.tar.bz2 mkdir i3-${VERSION} - cp i3-migrate-config-to-v4.pl i3.config.keycodes DEPENDS GOALS LICENSE PACKAGE-MAINTAINER TODO RELEASE-NOTES-${VERSION} i3.config i3.desktop i3.welcome pseudo-doc.doxygen i3-wsbar Makefile i3-${VERSION} + cp i3-migrate-config-to-v4 i3.config.keycodes DEPENDS GOALS LICENSE PACKAGE-MAINTAINER TODO RELEASE-NOTES-${VERSION} i3.config i3.desktop i3.welcome pseudo-doc.doxygen i3-wsbar Makefile i3-${VERSION} cp -r src i3-msg i3-nagbar i3-config-wizard yajl-fallback include man i3-${VERSION} # Only copy toplevel documentation (important stuff) mkdir i3-${VERSION}/docs diff --git a/PACKAGE-MAINTAINER b/PACKAGE-MAINTAINER index 633b2d7e..3d9a8e18 100644 --- a/PACKAGE-MAINTAINER +++ b/PACKAGE-MAINTAINER @@ -26,7 +26,7 @@ On debian, this looks like this: mkdir -p $(CURDIR)/debian/i3-wm/usr/share/man/man1 cp man/*.1 $(CURDIR)/debian/i3-wm/usr/share/man/man1 -Please make sure that i3-migrate-config-to-v4.pl and i3-config-wizard are +Please make sure that i3-migrate-config-to-v4 and i3-config-wizard are installed with i3. The Perl script is necessary to (automatically) convert v3 configs to v4. The wizard provides the possibility to create a keysym-based config with the user’s preferred modifier and should be started on the first diff --git a/RELEASE-NOTES-4.0 b/RELEASE-NOTES-4.0 index a9a91134..14ecbfa1 100644 --- a/RELEASE-NOTES-4.0 +++ b/RELEASE-NOTES-4.0 @@ -40,7 +40,7 @@ now. • As the configuration file needs new commands (and a few options are obsolete), you need to change it. To make this process a little bit easier - for you, this release comes with the script i3-migrate-config-to-v4.pl. Just + for you, this release comes with the script i3-migrate-config-to-v4. Just run it on your current config file and it will spit out a v4 config file to stdout. To make things even better, i3 automatically detects v3 config files and calls that script, so you never end up with a non-working config :). diff --git a/debian/changelog b/debian/changelog index bfcbc324..aeca9a2b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,7 +14,7 @@ i3-wm (4.0-1) unstable; urgency=low of all Firefox windows. * As the configuration file needs new commands (and a few options are obsolete), you need to change it. To make this process a little bit easier - for you, this release comes with the script i3-migrate-config-to-v4.pl. Just + for you, this release comes with the script i3-migrate-config-to-v4. Just run it on your current config file and it will spit out a v4 config file to stdout. To make things even better, i3 automatically detects v3 config files and calls that script, so you never end up with a non-working config :). diff --git a/i3-migrate-config-to-v4.pl b/i3-migrate-config-to-v4 similarity index 100% rename from i3-migrate-config-to-v4.pl rename to i3-migrate-config-to-v4 diff --git a/src/cfgparse.y b/src/cfgparse.y index ecfa6658..ae789576 100644 --- a/src/cfgparse.y +++ b/src/cfgparse.y @@ -115,7 +115,7 @@ next: } /* - * Calls i3-migrate-config-to-v4.pl to migrate a configuration file (input + * Calls i3-migrate-config-to-v4 to migrate a configuration file (input * buffer). * * Returns the converted config file or NULL if there was an error (for @@ -153,7 +153,7 @@ static char *migrate_config(char *input, off_t size) { NULL, /* will be replaced by the executable path */ NULL }; - exec_i3_utility("i3-migrate-config-to-v4.pl", argv); + exec_i3_utility("i3-migrate-config-to-v4", argv); } /* parent */ @@ -438,7 +438,7 @@ void parse_file(const char *f) { printf("\n"); printf("Please convert your config file to v4. You can use this command:\n"); printf(" mv %s %s.O\n", f, f); - printf(" i3-migrate-config-to-v4.pl %s.O > %s\n", f, f); + printf(" i3-migrate-config-to-v4 %s.O > %s\n", f, f); printf("****************************************************************\n"); printf("\n"); free(new); @@ -446,7 +446,7 @@ void parse_file(const char *f) { } else { printf("\n"); printf("**********************************************************************\n"); - printf("ERROR: Could not convert config file. Maybe i3-migrate-config-to-v4.pl\n"); + printf("ERROR: Could not convert config file. Maybe i3-migrate-config-to-v4\n"); printf("was not correctly installed on your system?\n"); printf("**********************************************************************\n"); printf("\n"); diff --git a/testcases/t/71-config-migrate.t b/testcases/t/71-config-migrate.t index e93ca9e7..4e97fb27 100644 --- a/testcases/t/71-config-migrate.t +++ b/testcases/t/71-config-migrate.t @@ -2,7 +2,7 @@ # vim:ts=4:sw=4:expandtab # !NO_I3_INSTANCE! will prevent complete-run.pl from starting i3 # -# Tests if i3-migrate-config-to-v4.pl correctly migrates all config file +# Tests if i3-migrate-config-to-v4 correctly migrates all config file # directives and commands # use i3test; @@ -27,7 +27,7 @@ sub migrate_config { print $fh $config; close($fh); - my $cmd = "sh -c 'exec " . abs_path("../i3-migrate-config-to-v4.pl") . " --v3 <$tmpfile'"; + my $cmd = "sh -c 'exec " . abs_path("../i3-migrate-config-to-v4") . " --v3 <$tmpfile'"; return [ split /\n/, qx($cmd) ]; } From c214e50ac838f74028dccc93d2926b2b32a66e3c Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 23:22:50 +0200 Subject: [PATCH 11/14] add a manpage for i3-migrate-config-to-v4 --- man/Makefile | 4 ++-- man/i3-migrate-config-to-v4.man | 34 +++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 man/i3-migrate-config-to-v4.man diff --git a/man/Makefile b/man/Makefile index 651e962a..facea287 100644 --- a/man/Makefile +++ b/man/Makefile @@ -1,6 +1,6 @@ A2M:=a2x -f manpage --asciidoc-opts="-f asciidoc.conf" -all: i3.1 i3-msg.1 i3-input.1 i3-nagbar.1 i3-wsbar.1 i3-config-wizard.1 +all: i3.1 i3-msg.1 i3-input.1 i3-nagbar.1 i3-wsbar.1 i3-config-wizard.1 i3-migrate-config-to-v4.1 %.1: %.man asciidoc.conf ${A2M} $< @@ -9,7 +9,7 @@ i3-wsbar.1: ../i3-wsbar pod2man $^ > $@ clean: - for file in $$(echo i3 i3-msg i3-input i3-nagbar i3-wsbar i3-config-wizard); \ + for file in $$(echo i3 i3-msg i3-input i3-nagbar i3-wsbar i3-config-wizard i3-migrate-config-to-v4); \ do \ rm -f $${file}.1 $${file}.html $${file}.xml; \ done diff --git a/man/i3-migrate-config-to-v4.man b/man/i3-migrate-config-to-v4.man new file mode 100644 index 00000000..1d2b13fd --- /dev/null +++ b/man/i3-migrate-config-to-v4.man @@ -0,0 +1,34 @@ +i3-migrate-config-to-v4(1) +========================== +Michael Stapelberg +v4.0, July 2011 + +== NAME + +i3-migrate-config-to-v4 - migrates your i3 config file + +== SYNOPSIS + +------------------------------------------------------- +mv ~/.i3/config ~/.i3/old.config +i3-migrate-config-to-v4 ~/.i3/old.config > ~/.i3/config +------------------------------------------------------- + +== DESCRIPTION + +i3-migrate-config-to-v4 is a Perl script which migrates your old (< version 4) +configuration files to a version 4 config file. The most significant changes +are the new commands (see the release notes). + +This script will automatically be run by i3 when it detects an old config file. +Please migrate your config file as soon as possible. We plan to include this +script in all i3 release until 2012-08-01. Afterwards, old config files will no +longer be supported. + +== SEE ALSO + +i3(1) + +== AUTHOR + +Michael Stapelberg and contributors From c871856449aec39c70f8a85c48755b8b797e7556 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 23:34:28 +0200 Subject: [PATCH 12/14] update i3.man --- man/i3.man | 192 ++++++++++++++++++++++++++--------------------------- 1 file changed, 94 insertions(+), 98 deletions(-) diff --git a/man/i3.man b/man/i3.man index bb705e81..868ff8cc 100644 --- a/man/i3.man +++ b/man/i3.man @@ -1,7 +1,7 @@ i3(1) ===== Michael Stapelberg -v3.epsilon, March 2010 +v4.0, July 2011 == NAME @@ -47,7 +47,7 @@ Please be aware that i3 is primarily targeted at advanced users and developers. === IMPORTANT NOTE TO nVidia BINARY DRIVER USERS If you are using the nVidia binary graphics driver (also known as 'blob') -you need to use the +--force-xinerama+ flag (in your .xsession) when starting +you need to use the +--force-xinerama+ flag (in your ~/.xsession) when starting i3, like so: ---------------------------------------------- @@ -58,26 +58,21 @@ See also docs/multi-monitor for the full explanation. === TERMINOLOGY -Client:: -A client is X11-speak for a window. +Tree:: +i3 keeps your layout in a tree data structure. -Table:: -Your workspace is managed using a table. You can move windows around and create -new columns (move a client to the right) or rows (move it to the bottom) -implicitly. -+ -By "snapping" a client in a specific direction, you increase its colspan/rowspan. +Window:: +An X11 window, like the Firefox browser window or a terminal emulator. -Container:: -A container contains a variable number of clients. Each cell of the table is a -container. +Split container:: +A split container contains multiple other split containers or windows. + -Containers can be used in various modes. The default mode is called "default" +Containers can be used in various layouts. The default mode is called "default" and just resizes each client equally so that it fits. Workspace:: -A workspace is a set of clients (technically speaking, it’s just a table). -Other window managers call this "Virtual Desktops". +A workspace is a set of containers. Other window managers call this "Virtual +Desktops". + In i3, each workspace is assigned to a specific virtual screen. By default, screen 1 has workspace 1, screen 2 has workspace 2 and so on… However, when you @@ -103,18 +98,9 @@ on your "j" key). Alternatively, you can use the cursor keys. Mod1+:: Focus window in . -Mod3+:: -Focus container in . - Mod1+Shift+:: Move window to . -Mod3+Shift+:: -Move container to . - -Mod1+Control+:: -Snap container to . - Mod1+:: Switch to workspace . @@ -124,17 +110,21 @@ Move window to workspace . Mod1+f:: Toggle fullscreen mode. -Mod1+h:: +Mod1+s:: Enable stacking layout for the current container. Mod1+e:: Enable default layout for the current container. -Mod1+Shift+Space:: -Toggle tiling/floating for the current window. +Mod1+w:: +Enable tabbed layout for the current container. -Mod1+t:: -Select the first tiling window if the current window is floating and vice-versa. +Mod1+Shift+Space:: +Toggle tiling/floating for the current container. + +Mod1+Space:: +Select the first tiling container if the current container is floating and +vice-versa. Mod1+Shift+q:: Kills the current window. This is equivalent to "clicking on the close button", @@ -144,8 +134,7 @@ support that, the window will be killed and it depends on the application what happens. Mod1+Shift+r:: -Restarts i3 in place (without losing any windows, but at this time, the layout -and placement of windows is not retained). +Restarts i3 in place. Your layout will be preserved. Mod1+Shift+e:: Exits i3. @@ -165,88 +154,93 @@ You can specify a custom path using the -c option. .Sample configuration ------------------------------------------------------------- +# i3 config file (v4) + +# font for window titles. ISO 10646 = Unicode font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 -# Start terminal (Mod1+Enter) -bindcode Mod1+36 exec /usr/bin/urxvt +# use Mouse+Mod1 to drag floating windows to their wanted position +floating_modifier Mod1 -# Start dmenu (Mod1+v) -bindcode Mod1+55 exec /usr/bin/dmenu_run +# start a terminal +bindsym Mod1+Return exec /usr/bin/urxvt -# Kill current client (Mod1+Shift+q) -bindcode Mod1+Shift+24 kill +# kill focused window +bindsym Mod1+Shift+q kill -# Beamer on/off -bindcode Mod1+73 exec /home/michael/toggle_beamer.sh +# start dmenu (a program launcher) +bindsym Mod1+d exec /usr/bin/dmenu_run -# Screen locking -bindcode Mod1+68 exec /usr/bin/i3lock +# change focus +bindsym Mod1+j focus left +bindsym Mod1+k focus down +bindsym Mod1+l focus up +bindsym Mod1+semicolon focus right -# Restart i3 inplace (Mod1+Shift+r) -bindcode Mod1+Shift+27 restart +# alternatively, you can use the cursor keys: +bindsym Mod1+Left focus left +bindsym Mod1+Down focus down +bindsym Mod1+Up focus up +bindsym Mod1+Right focus right -# Exit i3 (Mod1+Shift+e) -bindcode Mod1+Shift+26 exit +# move focused window +bindsym Mod1+Shift+j move left +bindsym Mod1+Shift+k move down +bindsym Mod1+Shift+l move up +bindsym Mod1+Shift+semicolon move right -# Brightness -bindcode Mod1+97 exec sudo sh -c "echo up > /proc/acpi/ibm/brightness" -bindcode Mod1+103 exec sudo sh -c "echo down > /proc/acpi/ibm/brightness" +# alternatively, you can use the cursor keys: +bindsym Mod1+Shift+Left move left +bindsym Mod1+Shift+Down move down +bindsym Mod1+Shift+Up move up +bindsym Mod1+Shift+Right move right -# Fullscreen (Mod1+f) -bindcode Mod1+41 f +# split in horizontal orientation +bindsym Mod1+h split h -# Stacking (Mod1+h) -bindcode Mod1+43 s +# split in vertical orientation +bindsym Mod1+v split v -# Default (Mod1+e) -bindcode Mod1+26 d +# enter fullscreen mode for the focused container +bindsym Mod1+f fullscreen -# Toggle tiling/floating of the current window (Mod1+Shift+Space) -bindcode Mod1+Shift+65 t +# change container layout (stacked, tabbed, default) +bindsym Mod1+s layout stacking +bindsym Mod1+w layout tabbed +bindsym Mod1+e layout default -# Go into the tiling layer / floating layer, depending on whether -# the current window is tiling / floating (Mod1+t) -bindcode Mod1+28 focus ft +# toggle tiling / floating +bindsym Mod1+Shift+space floating toggle -# Focus (Mod1+j/k/l/;) -bindcode Mod1+44 h -bindcode Mod1+45 j -bindcode Mod1+46 k -bindcode Mod1+47 l +# change focus between tiling / floating windows +bindsym Mod1+space focus mode_toggle -# Focus Container (Mod3+j/k/l/;) -bindcode Mod3+44 wch -bindcode Mod3+45 wcj -bindcode Mod3+46 wck -bindcode Mod3+47 wcl +# focus the parent container +bindsym Mod1+a focus parent -# Snap (Mod1+Control+j/k/l/;) -bindcode Mod1+Control+44 sh -bindcode Mod1+Control+45 sj -bindcode Mod1+Control+46 sk -bindcode Mod1+Control+47 sl +# focus the child container +#bindsym Mod1+d focus child -# Move (Mod1+Shift+j/k/l/;) -bindcode Mod1+Shift+44 mh -bindcode Mod1+Shift+45 mj -bindcode Mod1+Shift+46 mk -bindcode Mod1+Shift+47 ml +# switch to workspace +bindsym Mod1+1 workspace 1 +bindsym Mod1+2 workspace 2 +# .. -# Move Container (Mod3+Shift+j/k/l/;) -bindcode Mod3+Shift+44 wcmh -bindcode Mod3+Shift+45 wcmj -bindcode Mod3+Shift+46 wcmk -bindcode Mod3+Shift+47 wcml +# move focused container to workspace +bindsym Mod1+Shift+1 move workspace 1 +bindsym Mod1+Shift+2 move workspace 2 +# ... -# Workspaces -bindcode Mod1+10 1 -bindcode Mod1+11 2 -... +# reload the configuration file +bindsym Mod1+Shift+c reload +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym Mod1+Shift+r restart +# exit i3 (logs you out of your X session) +bindsym Mod1+Shift+e exit -# Move to Workspace -bindcode Mod1+Shift+10 1 -bindcode Mod1+Shift+11 2 -... +# Start i3bar to display a workspace bar (plus the system information i3status +# finds out, if available) +exec i3status | i3bar -d ------------------------------------------------------------- === ~/.xsession @@ -257,7 +251,7 @@ your login manager (xdm, slim, gdm, …) as soon as you login. .Sample xsession ------------------------------------------------------------- # Disable DPMS turning off the screen -xset dpms force on +xset -dpms xset s off # Disable bell @@ -298,9 +292,10 @@ exec /usr/bin/i3 -V -d all >> ~/.i3/logfile === I3SOCK -If no ipc-socket is specified in the configfile, this variable is used -to determine the path, at wich the unix domain socket is created, on which -i3 listenes to incoming connections. +This variable overwrites the IPC socket path (placed in +/tmp/i3-%u/ipc-socket.%p by default, where %u is replaced with your UNIX +username and %p is replaced with i3’s PID). The IPC socket is used by external +programs like i3-msg(1) or i3bar(1). == TODO @@ -316,7 +311,8 @@ and the "how to hack" guide. If you are building from source, run: You can also access these documents online at http://i3.zekjur.net/ -i3-input(1), i3-msg(1), i3-wsbar(1) +i3-input(1), i3-msg(1), i3-wsbar(1), i3-nagbar(1), i3-config-wizard(1), +i3-migrate-config-to-v4(1) == AUTHOR From b77ab98ebc34ef6be00af52dba378abbebb42d6e Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 23:38:08 +0200 Subject: [PATCH 13/14] docs/userguide: document for_window (Thanks aksr) --- docs/userguide | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/userguide b/docs/userguide index 5c24dbf2..557f7d76 100644 --- a/docs/userguide +++ b/docs/userguide @@ -434,6 +434,31 @@ new_window new_window 1pixel --------------------- +=== Arbitrary commands for specific windows (for_window) + +With the +for_window+ command, you can let i3 execute any command when it +encounters a specific window. This can be used to set windows to floating or to +change their border style, for example. + +*Syntax*: +----------------------------- +for_window [criteria] command +----------------------------- + +*Examples*: +------------------------------------------------ +# enable floating mode for all XTerm windows +for_window [class="XTerm"] mode floating + +# Make all urxvts use a 1-pixel border: +for_window [class="urxvt"] border 1pixel + +# A less useful, but rather funny example: +# makes the window floating as soon as I change +# directory to ~/work +for_window [title="x200: ~/work"] mode floating +------------------------------------------------ + === Variables As you learned in the section about keyboard bindings, you will have From d60c6f0db28087e775deda6fa758998936eca6a0 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 31 Jul 2011 23:53:10 +0200 Subject: [PATCH 14/14] docs/userguide: update keyboard-layer images, remove incomplete warning --- docs/keyboard-layer1.png | Bin 43543 -> 55821 bytes docs/keyboard-layer1.svg | 162 ++++++++++++++++++++++++++------------- docs/keyboard-layer2.png | Bin 42056 -> 49858 bytes docs/userguide | 11 --- 4 files changed, 108 insertions(+), 65 deletions(-) diff --git a/docs/keyboard-layer1.png b/docs/keyboard-layer1.png index 88268f7b45974b6f0a07af641c1b028180a733ce..52ffae0da423a9b5f0403c77dba9cb9cd2dbc4d1 100644 GIT binary patch literal 55821 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 ouB|LYgM)2LlmuVT56(O`atum) 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�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ℜydEyG6E>khdAn%e4DFZ^tvn-Fa7 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 aWtz0xFJgss1lTF~N9CC2(PV{-xBo9yFUpz# diff --git a/docs/keyboard-layer1.svg b/docs/keyboard-layer1.svg index 18e9ae4b..109c19a6 100644 --- a/docs/keyboard-layer1.svg +++ b/docs/keyboard-layer1.svg @@ -13,7 +13,7 @@ height="300" id="svg2" sodipodi:version="0.32" - inkscape:version="0.47 r22583" + inkscape:version="0.48.1 r9760" version="1.0" sodipodi:docname="keyboard-layer1.svg" inkscape:export-filename="/home/michael/i3/keyboard.png" @@ -177,7 +177,7 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.0437869" - inkscape:cx="405.7365" + inkscape:cx="366.05395" inkscape:cy="149.64675" inkscape:document-units="px" inkscape:current-layer="layer1" @@ -186,9 +186,9 @@ gridtolerance="15px" showborder="false" inkscape:window-width="956" - inkscape:window-height="975" + inkscape:window-height="1126" inkscape:window-x="1600" - inkscape:window-y="204" + inkscape:window-y="54" showguides="true" inkscape:guide-bbox="true" inkscape:snap-smooth-nodes="true" @@ -575,10 +575,6 @@ style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Swis721 BT" d="M 107.0625,80.560547 L 105.23438,78.779297 L 107.17969,76.763672 L 109.05469,78.591797 C 109.30467,78.123052 109.49608,77.587897 109.62891,76.986328 C 109.7617,76.384773 109.82811,75.728524 109.82813,75.017578 C 109.82811,73.119151 109.40233,71.646496 108.55078,70.599609 C 107.69921,69.544936 106.5078,69.017593 104.97656,69.017578 C 103.46093,69.017593 102.28124,69.54103 101.4375,70.587891 C 100.59374,71.634778 100.17187,73.111339 100.17188,75.017578 C 100.17187,76.916022 100.59374,78.392583 101.4375,79.447266 C 102.28124,80.494144 103.46093,81.017581 104.97656,81.017578 C 105.36718,81.017581 105.73436,80.978518 106.07813,80.900391 C 106.42968,80.822268 106.7578,80.708987 107.0625,80.560547 M 109.55859,82.916016 C 108.97264,83.306641 108.28905,83.603516 107.50781,83.806641 C 106.73436,84.009765 105.89061,84.111328 104.97656,84.111328 C 102.39843,84.111328 100.34765,83.291016 98.824219,81.650391 C 97.308592,80.009769 96.55078,77.798834 96.550781,75.017578 C 96.55078,72.228527 97.308592,70.017592 98.824219,68.384766 C 100.34765,66.744158 102.39843,65.923846 104.97656,65.923828 C 107.55468,65.923846 109.60545,66.744158 111.12891,68.384766 C 112.66014,70.025404 113.42576,72.23634 113.42578,75.017578 C 113.42576,76.236336 113.26951,77.353522 112.95703,78.369141 C 112.64451,79.376957 112.18358,80.259769 111.57422,81.017578 L 113.44922,82.810547 L 111.52734,84.826172 L 109.55859,82.916016" id="text5474" /> - - - - - - - dmenu focusfloating/tiling + id="tspan3004">focus floating/tiling stackingsplitlayout + id="tspan3397">horiz. Mod1 + openterminal + splitvert. + stackedlayout + focusparent + resizemode + T diff --git a/docs/keyboard-layer2.png b/docs/keyboard-layer2.png index 85a7d2163579430f9008e663f7c09dcdb8c86bd6..83616d935af20b2894e55d973b98d416d015a5ae 100644 GIT binary patch literal 49858 zcmY(r2Rzp8`#yeaqC!PRA&JavB_WiIL@1Gwy-QZI3rP{OGBU~*$|_})Br`jaNJeC5 zul$bp^L(Dy|NH;Ep3m!fl>5Hl_jR4uc^>C+9Oo6Ne*Ww(N+wDYiL^^e@w5hswAqhD zBI6_9hChi*@C?Jhwm8ZuX_4c99^|I?@H2(IqK+eezmxbsnH*P~EB=tt>C9y(&Fkh) zH;o+3NH=fZJZg2##?i#c-t6dg2aCALlT0MiL6XvGSuNN2@$a|vf|pm9X0)?YQv43l z9%57B&Y#Ms-ezK09s2S?kSC)E=c)#yii=6TaP5lhf>?yus>WfJ-BvOcGM}e<`pz5i zbxa(X`ZdrmwCHlaQ;Pprd2jvvmrU)vgr{EXD<0IBa&-N3a`=CG6@|YxoZy_)ejB*j zaScDl;m2a@4xZ=FpJ!ZncDE;)T;j*vXxm6YpgtjJ@mC^~4?{@;e8KfBHzCC7YXR_lw(J-T1rSTArB5T3uZ&tPruT zp`n2X=^yVZIO( zvLwCN_O~13j%}VE%d5~Rb-f`Wzh<48nfd(k%T11sjoc>n?EL(@d|18L!dg>R>JMD}?7IAi<4Un@|8Qg6$jFF# zxyP+HPNQ<=9?OGN{GXOqR~?5N7<+nprsw7&B;)nOoPTRget&z`pOTJ2%B`@c-!v{M z>ENc#n_D_NE#BYRs=GeROJ4a(<*;Ak2)^BOgEHOjL>ce$FNgiY!otqQiUv-6d$pII zezC;{%ThB~8=iUP)wQE%q9va`d&Vf?aM;Sq>RkNs3n!#4J|7Ub{p#cIzqKu0En28j zAYGm7@*5{^l_uit6iEIxb!D!#|QM9smhUjos(S!0sHuMe~gX>CMG8CY%x!qn{#^OGErBt@t2qRN{ItU z`uQi7m6dYUHTiw`mZL4twhI`RYe`BQRc^WC>zjEgC-z*}&~x^)4_{cdaqii>w<6nb zdZgu9hWU-IzXAg@oflv|~xrH>y! z{=#8M*`Unr%!7UWkHzhnY&vs?@W@-XZx^}VdvY7q0mc4Ge+j1%n)%-y&z#4;;Jem) z?&vaaOHwCsR~Zy!z|&6QBI_kMG`{Dqbp&kV{TdjT7H_;CQG?^wCVurbF!P zItAvt9zJ}iSK@G{nya9xAx32M+baRJgp*_k`T2wQ9y$Nx_wPFY9rW$Fs!B>mRrhv3 zj*GLg%};E>*-0^daq9LapZvwy09LQ&tiF!Nj~Uz+#<@9s5y1>hOq=TNK1q;ruVXYQ zmUJ0sKom|%MMp(dBlsL8p7x}wb4~yGv*}%TcWk29iqi1CeCW>SH9Mb;M&95_JwTH<)*dSCh0zXD3_qF4ws zELN*meH6ctu<%nHECxnKG8%gNvlU+JgOozwddl3jt@V!`J7)3qh0)s5K*-40Sooty zmG5qE?#MMPwA_vVor@9nzq55m-EN2CnfZCMziZ2+i-bnaQCqt_5?|c1%bMg<>cizd1pgd zgq%jy@6+)r1T%@i**jTq`-f%;V zJia%gCKlQ44pSJ7SNgV{4DawBHF3uT_8+@u+L3kf_=yuZ+xs z;;B<4$6uctQ|~!`#t}@tv=9`S$fLw(P};x|MN`7imz*mOevj?W#~+tfR;Elk=l82Au?Z<-v?H6Igh&i`i!?SiCW09e z*XnUWwa9((+TC6IxA{DHuwy&bfuyVN@9-Ix>nT%WN3zAJ4^p$73@zrp^!#36AjRUIdU$$DIRB<4Av>D3JUw&LbA{Gl?tQV{H`9lr7R2$t z)^q$+*WQy?-;rY2>lhIxl^q>)K121S<+-g$? ze0&TtUMKSm%8X}+8%M@$CKKPkcp-S==HxkDU8as~Z408F*k91s*N+k~q~iLu=X}D+ z7$o$zoGZs9Wlu|)!p5iZ>E9@qTsu2*WeD}?aM1G%HE0Y3*(v2jz%I((jLbV6&zw>bl0z6 zw|aBupk*AsE>fZn4#}%)-yboFZoOqS8Lobm_rg=ZLj6L^3&HVf+v=7Xo+$)xy1KSB zV_o~>?ae6$A>%E`_mM2Q`$a9^$!x62$BEmy&i|$x>&*Mq)y1f$rsm<{@!ESs8kzX% zt=VCRp3n3YJ9iEydjGvORkE=@<*oBj%412LDQo@{tM{O#ZC4H=>$HNxrWbDW)=c8I z87_aP`#(7NMY6}o$EQrxh94=o`hF7*qfWjl1t~2p4a;zM2mMhR8k$pMUvjLv3p4fl zy^21Cu(oAg>XU+sDVQCscdw^Q1I1G_?Bm z{kwj(qJu$oU#<7XdUQ>VqOGm1X^TYLwYK_6T^?FS!>BH zEzOv87u)SPrKJ_o&VD)lJagvO6{NMphYw#hGxLv&i<|3ak#ZaKdS{r7@8Rd~PqwjG z=Dj${jG%iYkw1>KC1u^7@gAwV>y0xnj%B#pZL;cz%nyJl~ zG&W+Po80r-Iy%fg-lx+rxobU{k=6=KfS=lPu0%&f&`$Q2@ji(|p~mqE6M7RbWcyX{ zA*&1(S9ApuD^UQE;`R8gS~-#J29W|=y{g&Xch^)`Z)0a?N3kUvBB!%^{EeUd(C+q~ zi4io&Zw?FNI!E>2_{k-|>*|Whx|r?d^mPz*sU}fI1_`0A`07x^%K-K8y>b_Chv9H$ z?~2?n2E zb;cOs`vJ)XDDRoww_>L6ZR>0}beFz$ewi1&h-AcdF^d+#yZN*nm!)(VxphktHSYOThor*c_+W7PM~5<4jBr#Mbn)qZ)BF^#uMD!+*r@uKFByKW6IaM3zd{P zk;?e4cyuM>@cIP=h)M*|Ud1#C+$aOP9_)79{h*A)sQFZYZ#5%FxPu)ZKJ@dII@l7xuw) zbzws1^VV(K_R!Lv#+j#}qKe8oxH$1m``O+~;6Xvh;d6kR@8TsKNta(-B|CCH{%TDq zn{Ld`P1gPw{|wcqi|t}!HMxFWfWr@+M6?7`zs)}ZQeLAdc4+kH#|Nzr?2OJM&9Vau zhs-$l$TrTk_)X_k{53}2Yc03Vl|#uK9Ua9N-OIxAFeIeO-7xXxF{L(?D(W3Ob{Ld< zWWJ;@($$TfW3#caIKteA0z&D3$7A`AnN?V++k94`wBfMdG(O13VI(8%Yq8ya9FZ*% z6ce+*n#j!Ze6wsf^3Cc=LxQD5dr+aS|(d*LOR$a$crRL7HB_`3@AQ z(y}r}G3yA?EFyOybgYN=?Br=_X=yDkrl!AGd)!)9EK9!m+_7stOO{4Sj~_o?Owi_c zPYo;=-K_@zD=RB2!O#_5yCm^PYROXWaeRCb&eHnoVme@nR*o(mP6)yfAchtt<7acS zeATB<*=3&_8-r0^G{<-nBe^cfVWW{hA3b_RN)dZYDmpCWSm`)ev-{L?=#v{78%UX= zN7?Y5Q&82bK7KTlc;zyo`vpM7g-=}k64O!LObrgJV&IQ#*3#&>iFmhyKc~ zISdNfss|R+8f4QK-UB&L4kYjm=Pw&P4APE zau`tWJ&?`I!on21weGiAZ4?n&O8@H5QarkaT;}HHh|K%KACnN%M|NF!<1lpJ_T{js zfPerBgANYui4!Lp;wAQ~bJj}UoJ>K_6T~W$fW9sc$YL)8L&i+Kh-DnYMn&oyQi#(? zGnx9nfv>1+Xde!9aGc4ZsRiI}SCA)c)= z=lq?CXhrWt&{+Sp|EhLlY1#-q`e=6%@8slURduy8wZZo{&f#w57N6sl&>3Lc^vXSS zK8N}*BK|T9*M}STU+XR9-j$c7|5kj*K0bnfXcYrcM?1vv>H}@QQniFHBX6y>$i)_c zB`>!#TPKXJUvEOA#&E)E#De24@@@)FXbDa7w2*OEpjx46?H((s0<4KW2!$B-72#{w zt{pgT?}MhK<<)h=Q(cdWu6;l8C_Fq9pNMZ@j9Pm@#w#A6)B)+g_}X_$u3x(lCHt^q z`00L8QBnM>*^kKFB(4CmP80>7flnbS@{Mn9P942s+x4-s@{XK8<;-}O$f=SvZNPz) zS=8|H?{Brc^De(M&i(Ybt+ln4$aCmvTlFk7H8uYX*2-&WJktGnbD~=eBn@evt)uc4 zo5@RF5`gb;Q)0-IC(IWvTmZFkcEZEfmJbE^DcbiE#{qi#ZA*EWt=^z$QfK zg7g>|8>>gcAX;4kgVG;U6&u6&T-0R8KZ8oa`dmvmP#TADUXNu4IAS|}9FBLd-gUEl zx|>}=@f(4tTUx?yPW8S-GPAX_OI@xwbDy@QZr__!mFPVzET6AetaHx$jg5^F&B!T< zpsyc3Y{s|jes!IiE1=W5zEs5S=kMQHmnatdyf;#vMq4AeE^OMrKW=d!2N*S0>~3SD zpug>-TXx@q|8Y(fe6Pf35Y0aZ=HV@VLHzvqqf0}vIK<5d81R1fIo_4I_OmuV{{L0iidyQqAwGIij@BI1pPoNgvGq?HQ zsWUcJODiiHK+(B|73UEqDSzGps)%0ed5lNQZag9aMgnYRp>@ao(p$5_|AOJ8+DnEL zSh@CW?GV6KmHHh34FiLNr_0>tv3f+8k%%Mo!h6H(((}u=0|Ej>X*CQDSuHFq6doR^ zogeG$yE1XEO%*&Fy?}ur`Zqp0`HAsy@*O*#fgaNMW0pK#Ct%P3@SkD~=Yn3NzQ3yUN zh*>h~rOBr{(3XD|7OLy($9(InBKUM3J(0ZmC@M<9!{g*uO4^zsa(@9FquY6T0_El9 zzyl^%uZD8;=YhVvba8ssU>Ck5NWt0Zet9I$4*=hS$BsoyK0lDGyIosNEu`Y_ipsF1 zU;IxHh3V<(Jw`P=vj^m*q@=**(Mb9A@vEq)0Q5AyzA+#uENl#v_4Vu5tLEl+@ys&o zb9+%X(~)`5DGZE^+ym>2180tuZVTu;d4&~hE^h3Pib z)ZAkfF(=hk3TK&x7B-^uN@ZzAFxZ&g7Lctu7s)_%;JEsv`j*qw{Wlwt-0;hS4ugur zpP$qN+P!xCMTIus@9y1Ab-kzE-Q5o`Gvff#;at$?NH8506jZnAq@>#-`_^gfOE5~# z4FC~h^}+TD0v$>|w-viNsYeP54vqo4)X*{*1durmjz_J$x2o#2?k1JyYuyX0&oj|I zsK2->n@P9tptN)X8VqC5OEJP`RRY;jyXi!?$~Myy)i_q{0b0`CbaWrl9Tghu9E{vf z&GN$Tn>Y!7oLV$S{W(D@E>knz>(4v@*uJrQlyXP+P$Y-?XJ%SOiBhmgo8(vtLQCgn;GdR+@PH@F5jg1&IYQ;2k8O>UZyaaGr<1b}k!uxKQ^4kb--x z#NL869z1>SUu6IU3JGK;y3gkeO|`WYpdd?2OCbr=F650OEe_R1estjP8Z6jbDd9N$ zV{-DmhQ=N=qm6-&%XQF7^t`^|i(@*CMzrKZ?FDeU{XqT>0b$v_<(?{fdhyU8Dz#P4 zojc6KL+LNac9Tm^{C-FX0YTBh)H5sRDxN>j$-|>ODd-R^m;7U9;8RL^dOh>~gC4sP z=ZHulF|m($Xaa<7-n_j0E3w35Ilrf$f_0`#USZeHo#Z=rRslJpOcmg{ri^zn6CIeI zzCPJVPl*VDQzV{_JO6k`mUjM09SYU0^%XHh1+9QVJQec^!CQY!8yXr0sf50P%?ZVs z21cwz7?8Lwzc>htaxUQ{Ba&JSdxIAkB4Zq$RSY%KQZXgRBW2_fA;YZu}+^Kma8jPYv@=?YEw*;(IyIAtJti|IT>A z$&yMTV)p02K#Y{TID`c@PELgr1{vyX1gDF}rRewd0#FN`o%Gl&;2|YzYaU=Av>lPC zu|yACBH!SGENg^3LZ~xfO^l%AAP<0bO+mNs5O9P%@wrB-a_g)=))_F+>34fzVWB9& zq(YQPv1w~-16w4orbd1C?Af{bg0#Z`KJ3`2uU{{ZPfP$|E{}Aosj6}ix(#x_;-`Uu z0leZFG7Jd&>@rRX2}Xap+sL(e;Q&ZLTE5GnXa}EW#})N~%XG(!{D4iuK^5`+0^}hw zMF@-3Q!E>_h@@xFp1G(3c_T26;5-YP)vf*V9J(tID{p!2+UH#Tw@47%fUMF1IY&lE z&2HNE5k%~Boq|Cs_D?&RPeg#7&t%r*qCJVNMCiZtT6e?OOTIWp&I|yD)Bk7kyJXP- zK+Hidu6xjnuv+qX0@M3~t7p!fnW-13$e0(5;MG2Fv$qn!5#mbPM(MS>2yUh)G|~{r zK>9lTUAt8@5EvLpu(N=?4!}U*dpI@yx&}bbB+jijD2DH?Tv~F?(#|`NvKHmolpr*{W*v#19;dV-8J{bxvp6ciL>fAgjV z^c#&wMc4bJ!3t%IJ7lBwHY7;x-@MtE&u|JUmCzbWz1Cw<<3&7IoLEk}zC$rN?!Lf> zE^6fWZw=H+WXUrq`y~4tH`t`5S%A#e*4FNYgltd3-$0ntOgcqI0uZ``0s|Izdqi0> z6%|#(6Uk_7zOoQDMr-1Fad`M%)Ig2a#fpvf5OCbt-?c%3ETi8P6cSoq*_bgLd5|3x z#eXFVq@Ix5oFxELfk@i*Y7{XFa`LNaceS##0s+2im^B`Lt?;hU70yUcKMTCs;U#Ed zY&`NMXFnbq>Hq;;&L&EGrkFM(31ZJQfGdll4gl5VFySjs|Clm=&3JIV|BE@;4TObq z?Nuxk>KrxJ=VNm-jr#c|#PHjAqdK{^{XAu*rR^+yhyr=YHK56(AAT=$kACmFy?(br zaoh>#EL~wsD=Q`B24vVx5i(;yifbtb-m3PKJrZ}Rn0YvSk(mj^1^s4I-RcuTqfPJM zzjwIHO`bT8r66E7HWuwAA;dvaOVY~J5VieED)OjcWR(elw5AZ@{^==wM26WJS0dR5q(~(!RX`LitVmIM!6dt zybHM{GFM4ebqLSHcIeP1kfJ9~p5#(bBK7z8yWYA*M#Ie9h#vOdg9p#hrMbGgh90|a zaOch)(D!AG4_Rqe%SDloQB#KAy|&m{qGE9q%P|D9QwBoRobHFUqV9UUBgg7jiN>Af;%by7--3=&sfHU0jt5ZMdAgIEARkg_i8yRCm} zikj<6yx4bCkah(gY`_jAY_PfYXe9_07u?j=tH?TqR&5Ho>IJIR+rJ$;bKf2a=>9(b zy0~N4?VX*6@Zlt)lgDAGqf0yJkq-!s{{1fBC!84G`9ekphUOw0ZRiR_i34vMFXbKu zk#Pn%k^~a{45|YlzMr38DC9G2A1@$EY1Pm^V2w6}h+!vm1K{%nr1mIwc05%egCpy5i zeVW(y)SoAB{c!jlC`)Cq8DxUu;=tA_%H(864a=X?Q5d$F6D2w`qBJ#?1En@%PbDgp<7g{K@U_r~4<2aR*iW{lhltvKud4FH z77C%CIklX0YwQbuQG$`|(msL|bo-)+(*%CkwkzKsbeoZ>sUJjWQKRip$5-QiG2xhgc5+6uf#_$#Bln)2)J(4nkY@8Xq)2b_<1K%P3_>E1})YL?b zv}f)G3E%i+z84haalHZPqLrrg zg!Au=;6Lj6;jyuGK4hCoDHf_7odAnHzt#kr#1FBp-2>%`LQQMsjR!$Ryi)Gt@D8z_ zdZQ7Hp{P~s>50dxyJJIXC zda(h=(Qu=W*MaE+x%wAkO7D#m1(NZ@0}^r&`BN9Uv@${q?aa(L?2a5hJiRh+^Sd)o z4U|t*R8)JeejMcStogfH#-EoGVlor>`^wzY7iN>0(qeBh*j(E~(SMefUso%q`Skgt zFSzN^Fkb6`_Mbub_snUa!1h+fsf`?quL9~D8H+m9W$*4zT|2C&P9OYgNHG=+$V-@3c=aTZRvj4Pfy zx0B!((b1HGIzx^_BVCQNLKt{ZmW>g(NMpMp-QWbKEJ}E;h{~)@`xfSCJUvaZFy1AP zEjfDh=<_SD9s=l^F2`SR&IQ)+LF_`7Eb-nbFFf6cD)JIx4cLbUL@&1bQEV)ar#aT% zdvs$sk8_V)zwf0ygB{T?c7GtNm5C4VRJ1(m`% zl~&O;d0*$YR~1Dv1O*AJ%pnPh7;q#7Aa;suAb~T$Ty+kTG7@&tIs_SldW7%_+=N7x z`J{8sPraxiOnI0^ZvX!M|FV{??s@cn*IR&%Q#SE{(6yf3ge}=|@Z!ulW#ym19RFim zGt1O~h+)(T(K715VhIBS zLnzEOSkF;lM#A)j$isdd!0FH}vi^twA*ZIcz@CEREC6Y_F!^02N4MxQHeTDCx*V1} ze?EAqD%Ka`x<8l&?%}xn)+HzC!ch4GdI4c@7u6xGiDtVPRcBxgP?UNH+{?;bmt-f* z=|@5;NJWWWoATaZ=i*X~%@eix!UwkLEQ~jU@0 zEk&FAzo3P$J@~uNY9;n5T0j&dbBW#;M)KSj=BB5AUk_0G@JtLa)x!GQT zMc}>TfE*B;L+_gJRrRe^U^_X|`x3 z#TVr2{`vUfgD=P>ntl5SMk^`44+TOM=M>!+LAIfg&vY7k-#`Zj+X)5NgOLoT0U&|% z*e5~`Ci)E{ZqOl!W9iuqmj$poNyEVHPE);42#WqwmR6>mz5RFXq=AvZf>CeXBixf#y>Da}1%?A*qPD>6bSUdg~=E0s}KuwEHQ$ zxt+j@L=At@xqP{~%>5=n^>O)^$X zH5L%O0xG@*AdgT^BKWUd%28KF#wC0U_!s1{AVez=+n|$b{f0`^ul77$UhdBkVcp?%od!Og;O<^s`T& zJ|#>9=>9b0p3bdKRcHbhK4g(nMy~{_B?VO{|Jc_De(IrU!JDCI76szcl@`<50)(T|M+DYY%ar2Qh@7^�^!L?RiOt75+m*D zmisA26Y^+ERA~czDY8J9CAVfdlMJl1!%dG$Pq(SbDAgY1l5r)}#3Ey{d1)EKG!!=M z&$NGk+Z$&ac*LZ!pw|AE_VHal*m%>fw^SlGH@DS+*hh9zQCe+nZ5`vrqiEC6oJ0aN zzPveQkooQo3~IZM*)&*{sn}B$K$JjVxPJ0!5d#i>Mxe zrLLxmUSmMlgG9Ua6bh%kgTtfGLyd9K=*m@Qk9?@CgwHCnde>0RW!uvi?FT$Tdvz6B z?S%}d8%gt*9&8&oo7Os?Wo!fWM@XC+-;N0iCc%Ty+Dv!R>bhOnOIvS*pICXTxkA<# z2X)T3%qN`GCG&XVa z_r-&oUltX4PW3%)@b4Avdc>h}`U0cuvwME(2Sr6AI8|d6%gFcb+ef@hEa`dh-{oJd zkifQKUy*QgU8GIuJ_Gnzds1f>2Zn^CI}FunTr2>+-dbp-IqKo&_NLpoH)e;fC8dpx z4P107%ZfmUkx`mtLmL4>;qw<$bBbhPiRx}%Xz<@A`UI?5;gitNQ$SI=L$xrhWb%iE zmz=u831K^wDgSv+PKVo0tzf34c#G80jzoO_?5O7KFGnT7bkER`Zxz90=^BcPOCRT)YVY7tmO*;jmaq~A1%NI znGrVDp&BE+)n9I=*E?%#j%*3vZOCc71=`@5a|=Bh6I3`d5rJH?l=utu06K3^KS3UAYp1%ob9OgaAsE4 zCKM5Aw=&K@)6>L8M+g`i0Q2tc9L3-1UbYvsp0oRR6M z#3j3RAO4w}JACkg}zkJkU5`p0_*|K*OmFlK?J0FN>VA`SfEL+~vQzdkb;8Cej?2&Yh3A-3$$p+hNl zU`v!ExY$fYyP7&WF6R6m21#}q{*uq1KZCfHwIdqD#jZrIQ5=vZnkgFs*u#PX z5hR58leaXOdY^z!0T;t*@wjUk_0J3`$VZq0uGW*po0PhS;jm`uAFlJrqX;q zwsV5bl-G_|cqS7iuM)MCO5RR!*-%Zu$mJ8hQGb}+*?s|QL9g_w9sP{m{ zgrr{=#jk?W0N-orCE7zXKsg{e;Ox2$hX2Omq&}Q!FJHa-1v~oH))XbCCv)W?;o;$; zw(9%us+6lietPXZwhs;_Qyfyl2Z>+;8Ox>rMpWkS5<7bKN{CpK>IG+RZ`w)_ts>?P zR|l$t30pC$I?Ut1ZYO{wI+unxg~z}dp=WA{I~D>}gGJioUSuR4c6n~BGlbP^Np_NE ztLzdL{F)-JZf?3SVe75;Zi=u6e{uJXWi6Fb@=H?2YwhWv6ZqJm5X@ca6GJeyrM~=p?=Loc`rHw%Y zTCJK}c+n$CKRq_DsG@LGBm$yK2I)N;^*1T^Q{1*yHq_TeT<9MO?VrJw4W+|={|Qz9 zpSni;l}Eahaui=?&E;X8IQ=(Hfx!Nu-xl}N({Dc*>EDEr9LIpyeLZZG$8O$RZDjsG zKi1r;;N;{iF&J6|x8U=bKCumsq?Q|wj+$UFo|b_1SaMrSAfI$AP9?=THgv zZ&m)@|Gt}L0K5b&GG04$cE_}%| zRMXO;g1#^MWe|{QUe-zFerzL^u+3;6H9O0w_*QtoPa=9n|9;Q`fQ1K%pTA zLWJH*NJzl)yx9i~CJKFH^`2SVwpiPDhcCrRpWoU90b+3|Fj zfRxk|G_jblLWB1UZ%Tsj^aHjA03Ko{<;|N|sn^zUjk2mzQqpqyU=j+ZxKAA&V)X3w zQXreG%Wgw~NP(>#FRWp>xZr?_(bt!VJ{8&_6^T&OQ2eVmcJAm>JM1Ty3pULZlr#zZ z@N;4UzM2FlX-J{KM@5|=iZtfFtF z{5a&w&!iv2!)eYG{pjvTkzb=&*nNQH9pUZ7b~b@UO3_$~#qrgI3wI?vcLJ?3&|76s z&&hyib^1_t**G}1s*4}pzICgW{uCjYFdnx*xOv-7Vx$6AE|?k#;gsvr^T&{9`xshI z9~`6v1!*NIEp707NK?Z5uSZm;sk93qD>q}qTEd-!gH&KXpf{(i!#?P>vA)RHIRQhH z@-{M9r_Li+IB+P)E*&6-p=xVK%WAKhpM7}XJqk2BgCRN7KUdJ?AvPlYmw&~yx&m!4WZNV_Y@-HXuS;@y|V-nx!%C~1!tz5j*x3{ z;H^Kwh`_h&B`;u0)Vu+R%tV_Rvsc*Kd`wEA=OBGWy}&O&g|V+y3?oF3ilISQozSQ} z#tmH*3R6+QAozO`psrC79-JYt8aL)fE}U9EH8DD>WNDevtw^t$f+~r+pRx{rBR2gL z`1q6yB($#POVjiyR&xwaRHIWK^|X{6vzAvTBmAQuQ&NXVn)@}jU((3$SNgVCLz60q(EB1hwN$z zTR|%I6EJY02?w=?eXW6bn%Psl*%e*OCOf#3^AZ``c2`pmhtu~N}!OX8SEb)KSzj~>xfekOlyI!BbhC)5Z)8Igo7UK*rAREGO&459{ru~Gc=y{E@Ci07th=_mXMZjcpo zGzATw^yP*)6Ar;JVxeOUTewJJRBio~(Vbi*q5in{3lN7RV-H62?o9JTJeEnhn*d+{ zmWkuZei8GaFOk{wg=dFNCpDuU)p!J_9q|MDpPT%CWu-G&emmR`Rp8oEZFcV31$$+2 z&;@e>*I=Bb7Dx@4fgf}^F=`}g*?elU*+CCeKrncuKo}u7OW^1hcpZ-Fy*_x;vhtYR zvpvK-go%Yk0Njw+*Nx|$2_X6~h%u;cTA5yVyj{eR+6aBm4P@!}?`5;@&6l&t3F&Fk zlrsZ*n4<=Q=i=7zgKepfChQ=2A`c1#vZl%gRO2YKoJRbGwb=zODD)RRHEI6J1S^wQ z`0?ysBdq6VoW=A}D$qt=j7tx1i4n1QQB?Ht%aQg26-sa@wL@2Tzwb@+Vi&>z|0+7tnRBw)m>;bmpqRXyXW4ZGNY7K!ptR_>7F_qSjYRIZj zyXMG&F%uBKO$O=)HP)C5(D@sMlOcQ3mZGl^$s}u{uflsn#xQ(2wqYt+b#8usdE!-H z@7vEAoLRa>Jm@gtob*T23J^?(6<<~wQ?q^pNw5tYLwHJ%9FSDD;}=^Cq7GV4ynYMR zA%d)(qqIrHZEj>YAO-sPV^dOzz#vXeqCQ%+v*?h}4xWl7B?6@oc8Ib!m%xZ+>Xqbc z4ZEW=X;QQJQfRt(uID-94|si1#k5c12|+u zZ(Lb2|Hlk8&?QL!K8e5MWmV4mS)N^#ja&&uZ!EzxB z6FND>-GAn@h^a5YXyLQb1;Wxh7RS5x%E-ttKHFV>MmL(q+VRj58^8b*VjA_o?;V|; zBi-(me{`q=!K5Mg+G$i{)U~?Am+_T|0lV9FnQM6XQjg_57*;=}!+i}QLxKlG^6cJ9 z^!Z^?QFkF7B0->W+l>NtpO*X3$344u--fjVHVPdtaXQMapzw+QfR~pSBveaB2L}(& zeZsj~7chgC`dMCH2z2?R=co2FGAcPZ2!lo=ly{iCO#|V+mculuBOx)OJD%&-t%Sl_>Jk(~l6Nd3YjZEgzi3pM!%b;#IG~yWtmvV5`A&9bv{n zx*;3^>I)g!UWN;p)MVedzNIm3MP~~vDP(Yj=;T7B4=s#1Kio;)mkZ~GYPT13MPg1Z zYtTFb>HM*fi7RvocSBywD5Q4fZ+$-N=U+2{| zW{?Ji+=7PK5xr}P{3;j15D2{et^woz{hIh@R(-v_2`JXtk*CE)M8fxw*|lQ`2c@7E zbG%@*2;FJRmM!*Rv3tIMw*p%Umf9S68}CXXC$2X^!YbUpyA z*4676xKii*CebB#96|>n;zEpgnV~FHm4t?ou@?RN2nGYduT_8k{E#p+ zp`UnZ+a-+s_=o}3l)h1d48?dErbGPSzLg|AFPPs@j|w!zhXYfvA3gdI8p8vW0<;c| z$l>ijS8zvxy}f-Bk}7}|qYununY&{4P|sAZ66PoPEYz9q^kr%uA#Cp$xlDR)@c0H- z0TMIX*hd_f`e%1Ci4x+O;+1w`Ko9?ji5pY_Qa%-oS*>G`#2b=ieFw>PXtuC@ zv$B=Le76$19%;$l4VlV1L~{aQC-JA3RoJdu6c!|(xVZhW>$N=oGnqAXM0nrF3v>|| z;KzU8)ur>BanppsHA2w(@#88AB|$HPR}W$myAQSf=g`ncB;6bEiGaTN^zB<5afbqt zNstmTK{eOQb{>Q%F;=CaGJ+|z7lnllGwxQ+No26SM%=Xn2w_kc--5&m#1{ZM0Urz3 zOfc~Av+QgYs1O9+hUJp5M*`EG(&@j3U?SXS;C?fAT?b=k3K&7~|1hQ~R%~XB7QSHB z^IC{-e=J~}?Gu`b@^5UKmFd|Rv-c6Mh`T#D4<8o9d^feh2KK|+c_31}rLFA)Iwzb! zrP(fdIl1;n6%F7RXBHQ=R~z<-b_V$x4xMx{y!njw?j^${U@>P&JmUxh9Z&nRF+F>avW(egT)L2y+N`hj1kX za;OG8IJoB_vuM^4ScQ96=9lV33jiquI4=Vt@hT6*-dC!9aYPWe)!g`k@xy&WD^KB4{ zXFpKOG(-3#Mw4NAA>5mi&()0K+n_tU9Ez7~LQw0WP&9|o;gfHX4a(r35jQm9dtro; z(%bk`F930uxETa3RyB$laj3vdxKFJ{p&qR?e=D${#vyv&-F-qkyNL>FSQz`+d}K(l zZyA`D#gqPo*7UxqDFm<91iHZ(crZu|IBpMfb5nqO&K$f2OifH~A`cUWRj^*Z2r0tE z2`eGtslYKNy8FZf(MVEgzc8xZ3{?YkTPC~SQrbCNnei-E z>6aJ*-;k7ceUVyEbpa3JJA_tos9T^s-Ws|bF#!S{X7_;uLGTB|7}}rns`rqPP#CTx zfQh1M|MgPYWI2C~6*A(O96?FMk>$DcyaskiFnFC0y~tnSwh+vtyhHg?QdE2gJ3ZHo z%z8}*q2fJE6E3~$_fVT~jjxj|Xvs18m=_{0zK@bG*J{uCMpg@cfHFxfKO&M~~${F-c;tCI#*)?_zvEUvMi$u?A zY{3h-$uP~B`jF2+}XaB^6onY@B*J3^! zMdHemze@wuXbj{~^#3RND;KDJ^P|`cYMY?iAXX5p4)(c#hxSzLBT6bSM0z=J!iik*t?xCQTri0YNwKANUtiotb&`{p=SFMxW=h1k z>RxohntnKgxhX!Ju<4>Jf&Fi~Coe~)%kvu3M=kPyJ|yg|nND~Mwe%7R2QE!5@w~da z`rY-&xxHNLwfcspRT?I)OVeziMpJM$355fMcC0AN{~k~51egw1ziaTnIQj z-d*$npfc^sUvMbhpJ29rwJx+g&h9G!2F5$2z z=&@_D&$wPk*qKY=CY*Kn+Yiu@GV}>v07+QqrSVq8Iif(STcYycb*`^}*^ayyBE7=JDDP8P!2l3yAb%B>o4Hz*0T3*oM0m2Z8Lhw+u4wPCpPRSG;)zAjGmc>Gu0KdF3lS--kdN z|2fm!{jUB?lv!lD&CWz^2*E_Jg-@@ls+vZtgDaD^;NqC=xb0*!;n_jk0-BUrT~!LV z6y#1w?!y@ZHCm*)ZLB@>1DM@q+=-G2Efw-$KhALJ@^IYgvu6np;bdP$6S`W>kF%3+ zr{IcqgTLa|`g|vP55o0FKwb=4z+Sd%!u?}al|5W|cBSZ^Qt+p1$i%15oUt09tDeDs zI)Y3?V4uNKqswgmq9KDZAzV~KO@bbdJa1K}F2awh2`2+)FfCt5gHk}#Y%P-rdL1oY z-RTR+s5QHYi^rm)qccAU-p2ujw)Fw=GJ9H688-`H(5DGGxUj7+@K-p8s=_Rfs_{~( zsOn!})b~Ju$8q}5AflDF$DA9E^BItH=uc4ek9_D<{`ZQuLYx8wQvq%#B8~@|Q{oak zEF$jc3n3mD&x?Fy((Fy#@A2HQg2e}Vd~1oL1)*u77bc8apooZm2$y8t#}{(MG(Rz4 z72JudUjR&y1QU1-j1BWELAHZa9tKcdWVL;@`2 zcH$~SP#c63h3VL}Ak0$(xRTmQhgR0pTTu>tpiw04e=-l`y=^hCY=H?YLdr}dD{&fq zv~UA?h3uklrV^*B9C?jD23z1iSBkI z#*Z+<@oJ&5%WPXTm%C9;LH-&>U9e@{lus)E*m7_cDBso+ed}Az(;pqHU@4( zOIE|TF2TUFH-J4RMl@q5tUiv7k2in-n30>I9Dw7RBPmw%3lKd7vX`)G;08tGpEdaj zfOJTPTG^L^K?o2O1bonTzh4kfJ#*i(J!3c4h8RA$*?a3#d;cJVgfN?EWcuFs(aA~) ze^JGZ53R;aHLovd!C?bM+;O zZiBF)B1TEba-6}cL`~150tJd*_dPxqgRhl6dQ9@t)Jo)u@|OUV|RU7dptiAcPKMNbw(C6?7l78Sg7N$cYiZZYHZ;@K{Fi z=@>uF_-BQAtYI^R5%ve>TAt!#(x{G{4fPY;tP?~2`wFhbLF>Zd{dcX~Xcqs~2uA(} znhLJBIH{O{<3v05D*eVjXx!BQSdp|>*`A!Wu!4&!*v>d zy9}T?oDPv?uF{wxV1IzC7y0>{k}&iDHwiJ>fU6IEA-G^$+VczzzuD>%TeB$%TaTOQ zUILF}L&6XHSqWY`lmWOI{OZ-K_iqpcDLR)#`eGFT+PDo$U%x-0rq(1HPGB?Nu!2^m zGxg|Skmk&FP=rK1w~7(B%mH+%(gxpvo3Sb>gg2x66jpZcnZsDtd+|?QXMUD0blVVt zi<}vABL09Z)0f|v^|=bN4L}mp1quutjI=02cmabNI$pxHkCKu`#ep4AR|7ONjY>(tCQ(h!uvl0JPEL6A=ewA=>@(`=@h_Fq?`t zaK&1x%1kmV3YjvcC_~DSkdRQuWGM5uuJ+#V`}=*z@%{JxvG;L= z=XvhuzOU=N&U2k>tuyKGhcI#(lH=xSZtiWH+g5_ri||GM`F1kYO(u74l-e+`n9bV4?aV}r?%te0nO;pf3HM= zom=FeJHpijKRI@U_0;v%-=XZNLn)02{)Tcl=RbGbTM=M~+77wrUj1QWYCA5!;e7Nq z{h#kH_f6Xd(ED)@H#Z^o?Zus_##}r+YO1UIgA>rdpbJP&w%n>@Ek#L53H!*pWf_`| z9>avuiK%-_zB6x^Wn};TXT9UXf%qOI)cjMElgdv{7Cy#L&WGBWZW*(M%4^PFmFZ)~jyFHcqvji5eyZ8`u28sju`Tw4(f*JRJivc&}e;zh& zF%S%PmNJkyHEITSQD$hF>F#HxH_Sy z+Pp&Ei&p9ah0S2^=vt>ON!?0Xk5e*|8)8>9sv{;SvEX!j8HwMqWc zl^fEwKUd}E3TjAod^A7{yIz z;qMiqxG zqvBZ~TlAXjHEAvqU^%Jtb!sB7Cb3vtf>Z7I@!qVQ^3!Oqpufm^=El{lJ0V-g5lHlY zJZcY4-PRk}jZEj@$yCYbIIlIuIHf$tV~=*wG4UM7UgeJhJc#3hhJXl^`Sn=W$fX_} z6y+3DjSd}Dq%lY_8>--1=;x2jW&0^FR&DjZVY^9vipE-v<*1V9!i5qATNL#!--}V- zam|ZTSy>sHj!?vU34Oso(_4mMT>u7MwWjP+cpN9$N?gqMSYLh~tW%~fOJ|RX%3>7? zxS`ZLuD|!IeaWY1b$tby#p#N_bCL#j=JHXU6L6WOXkeqYsB&1i^7j3t?i*X%Xs^6x zNv6b8+B1ha*I#Zr+RI+#d+hOzu*+)#lZ@SR>$nXMjJRKkJ}bz3FVK-@2w)KMn*4ek z^6+8Zf=(uoDRD>(2vrsZ0}oW)0mMfD2L~wa7MZ!E4B{ecC=mR9IQ<3(5g@d5*LP>l#Lo!_!X{@s4j?{A|cwm$<3#ah@JW-RH#f z>UN#At=ijOgR8_M<`nBuj3(xGDX-gTc{#L0-f|tyHi8|HRKg7f z*v!q{|z(@RBX1#RF1ZHMRoi*?TpeU zUl(SsiS$cW(;_3bhp%cRZU2(PyKC-@#e1nXD`8QU$6Yd#zjp@}f5QHt+tA+T0W3+P zd!nUDW`V#Z4)sdMj#;aQ;;{L36D5Ai2_`%HD8D*l5R9h0*>_)Z;{GLmvTX2zGu?3$ zlkH%I@=ebJ|1gyELONK!Jnty#tWoL=t^3lSuQv?EK0uw!fi9Xf1!3xZ4B|g{Fch%b z=;*Vg;?uomSBp}x_AY7Cv^6>D*FB{xOLwTNYZdi7So2MP_02~3#65(0Fl?c3E*@1Zp!=3G9{o-qIj_CFsk!{u+|}Qosm&8(A0uPtE=2f^md2Ls@|s^+3dND~Ip& zMjWDo%kPFPnxszpfVqGYkn^z7Of4j()wQ+6v=RMHXyG4KZE>=YqnXy&T0bA)MmJMr z#Z4;{qceCvHi5DHqYA@jCXTeo39~>E^URY^o3&C{Ud&SKou!^L&%P#q)8Iw+_&FV} z&lMS}x80tVsrEK3=NFzZuD12Jay)#3*fDn2BF*{){F*;{6ehUBV1?TZ^9M10jY7dm zvPcThHhNArJ_GCX?bkX7coCl>c-lw&@n&$z0LbSvj}jm5J6y+L4KxIsauCmg$?E_5 zRSsDy0kBZ|fxOF#&KVJQc2wyJbEOfYY=E*e9?>^ ze?tOojqDXmw)6GwlEdunBiX978y;W!(&FaPct=TO+w)cB6PawnO8v82+`B|7Z@s?p z9~Xcldn&8kwk-9?vXsliF}=?&bK?b{?=W65(<#h1vhH3f+ha1*2;hEzaxuzn+}^yKmE@MVcB2m07&v%9zK z6Kq%uOFD+mjs8d+so(BQUuS-AU^RTG3{Em+JENW<&1}4eRZD#zy!7af0CGa&*Z1*I z+h^EYHG*q@9V{<6_^eOQVgxx`Rp=d}t8S*=pr#M>TBz0(qSY;jU={!rmh=h|mqo!J zw#NHlwXlVk0pW+C*L;0&Guv7tE?Y~5<#v@sg-4uoA%C1m~HF-Q)huRTdM&@)FACl3IXCqYJ0 zMWRa`H}2?IqKt+W`jL7^8vAHn;MNlO3@efl)0;i{W30St2t@(44pjjB9&k&12I;{$ zzKtUQLH;H>OCUhO`TtH(5EWVwIqI}Cafi=c#`=B_MKR1_i30)-mecS9SwxwOn#l1U zQ4Y2MoJaSFZtdFBXm}W%ux`9Pg_5(GClEG5XinZogXfw1hyfmIEs`xlT0smaIhTlI zD+MnMIv;_f0G1QEW}xNGK1)DJ$&JRA0JDrZz60#rsd{=S(acTzmP6)`M^`Rdizp?e zM!sGl5$kfaTynqdu*cM@?LFy=ovj?fn|ptqGg?~nLbhJ`oDFlMFdOUmk9M7*y?zr% zmkN;*#(N0f(Is*l$;>Y7O116kv+y(7kKW~Rw=UR`Z4-C3`uD~ILIAY))-9qfKNgOe z^)ByOw6^R+gP3AFC|Ou3_Jt=9(Gep8QuyzZ762(Po}6nCi20Cf$+_kk?* z>eZ{2;F9Ak-?VMpakMKyCQzL*#?3hMDVGwO6~K{-V8s=vDWY4*%noLy`rgEO9s;j-8x^Jg^oPu>qoIo8$Qi z8iykM9Ei{8-w?JJB1}_sW%91xR?%)(BmPjo;R24&ZPGH6rL3W^dEA*kZO>9zQ~m8{ zyYdxXmsnXVBx$PYPh?qxRWmQyxUOz@&D6Bx)dQ6VzQ60zBiDdOkOWVo&M{QT+odn) zmA(KJ1C05>*g2B^MOnb14Xsr`^u+ET{y43zoOIGGJVDWe(TR$z>i^)}-Mi2XSbjtAug_+blK^N81nHk<&!86@n8mkr><^&aS#xV-{43{aIn4Os`91T zu549m%A3m$hquU2`?{-Ye%^KXIlIqAThnzN_6~czVs+?GCU41SaVjcPShKA}ZzieK zOW`rSc+TMIhTf@|IMK2~@F&_0 z+PfqqH&Y9_6>UtXc5N|nDRV#3cxz$0^*9Bx->HYJRM`sN-8=0jZ*hKoK3~>6LBr0J z;q+0o_d&D%9&x&HQ^RwcCxhgiGJ2G*GJ_>ng_Ya<`6F0`Lw-BdJ=1}^Vm}ci954Z7 zQnBX#OA){$wBSJ~vox)XV^bMBI^S*V`sjTNx$ihyp^PBr7`HfN$=xLUiSA#d8GN%y zFGXd`7r%wGgiMEYPW;?gsw2_6)<{byL@qxgEIbExfcKQcOT0{nhBu^&YJ(KJe9=jf;kG!evm3n+xqGO$&y zP^xq}|6yogMfIIJttI=B#FD*7-gt`)^|lnmZ8f;!``x5|;ENUi!EJuSk2Sc2S!ei7 zrM?ye6u*V8vfY9yx>@(pzXAm_CUcY^$~`$;G#wQtaruU4pBVEkdam6sdimE(tMa0G zMb^D#*2n8&j_lbZU%9?$IcJ`CDw8t8r|o$zn?p1w{Qs~m>W$bq_H3@ZE`>hF>e^XIs^9C2p9h zsJUtU-R^jE1%)7wP*{|Wf1WEgR}vaj#12Db9mL)|4O9x&M1f#+5oXJw5rE@L9B)6r zO`UGg-t)zO#TPxw^~8S*j26M~s$S5wgL0z@N0N1etyr&{A!x_h_7hpN^&fVm(H}** z%aGK8F-NVpX<%?r5#nd~nu27gD!GC58cE|EQ3TDXxnic5;3XrYT=y|5CdSg*`WU2Y zhdsx)W3_FU^azEx2Fnk@LMh)GJ;+-)2)FFlBMeBWyMRDh@yn_pR)aPz>a_tmj?BuU zo6Miy)o{~S#pVG^Ca&sD79aP)ZSOc*4^@b)?YyO2I+~jC(^h3nzSpdXBYIZ9-q186 zwIqmtlv>SaNA&O26Fge2^iJ`HfupgKi5G7U(ukyWiPDei%AEZ0TfgG{4W;u;&8vln zoxJYuH9G<7CF!_9`L;nTZUk}e9e9IkfF6F%&Ju|WqPP&4l6tF+u5IrfD&Ma>>6E>o zAt)3$-cvcqQZl$W9?=&PUiFk+IzZXEGR5*rj(+kMpJ&Q#ha1@*rGD9`eKd}7&z|ar z_+c@NKYaT+KTEBS^j~*vvZQ_Q@EY@R;ZfW82n}c5i616%ak)JjKiEo_Y$IaNs%H$C z&E8QliGH-`!EQw7Mw7Yw$gYaO{rxRReVficSl4Ep{^uz7uDmaST^}Kjk)Q zi|J}^Sl8*lPI|>QcB$>Bd6Hs*OrEAMpMRSi_u%6z=~az4ms5GEz1p-E=Id?u-?`v> zTV7YLmijLqF4!`- zK~zm9uldK=@F(%o%LR{1dMSnrGw$Z7Ts|7X@=T#|!#anbg&j)?66Le}Rv9YneC)w9 zJ?ZwzJfj9(x19BA3v){^#D!SwtNoonF4EAD*u708y6DYj_`g9r9&W(`vN9^J{DEnj zHE3P#z&e5{!zQhv`X1lkJ0R47iQyH9SNeK;D-ml5CpmYzl#b4nJ0w^s{>eAl==6pc=qg>LeKaay5bJ)Pa2V!!LLii zZZ-vtU3ye^HDGlR`6v7iP9broPR=jSmCtIs7NFSAUUI-m)A6(XeMX)=8AH!^Ed81| zyWjbyUh<7Ehm#}u*guFc6uiq(WNxz^qILFf1V)p#q1Rm^}Dz6MhcN$6J@^% z)2GxU<6aq98ECRMpdQqXK=GIYPg?jOiM5GNUN7ZXYw4%UJjlxt5@FdEpxkDh8J)mp ztEaA+k-7gw(RsDF^BZEbqTe*JJ#q*U^`(ic&{A$r64}3TpQ$c)j761JrE*(&_u*uX zx_g`SFaPOe8y2~_Onu`@)zHb%7ZqYjGg>Y=tK4YPcOUw?HPk4>@1lm2L12K$kCbIm z{IpZB;&<=NhF0e`yk*jpRt4^(Y%6KJHj1BhT1M^WuPw~zU#og{t92oK=F+W?NB^jA zYo`*`xD@R??4TZ&bWYPfdwG#E@}|y+Vvast?_8imZeB~5?xvUF0<m7%luGVW=>H}>3 zV-rhS5u+FM0>ziwmXCebNhsJg())^IzekT}+XZ#O?_F%hzUj*vAqFEmdi-+xPDW_; zRAlh(wY%w@SMDHt|CaXKQymif`^q@hnhP7OFo|@f-{Ae4QgEh2M^fBJ5vfgctnBQM zjQxN(zhl_~ZxAptPuEHk_U{pf6-Iu)>($YzhMS(yE)l~Na5gN@o>fPfhkCCMJugE1e7TA=u<$E*{D5fIvi+FgcEA&0hhS5uX&ae9L^^&o>^sal!hta81^g{mFe5Uk7^H!+&*T zG974l%_x+PTesCkM^@{Yl&K4l2ek?!tPL(Qm5zSQ1sZlZsJRy z$o?NKu~K5gNt-SSEws-2Jm0TuG*g`EO;s@VL);`UIwDNPD!L*^RgLvUvN6A1biU*4 z?`8qhmbXs#64lOnNv7~=tL-+KJGtbcKdZZN-cCf}%O!u$EQP8GX?+9TKpP9Xk&57@ z`bu7FmqY4Vn=C&p&TieGH2(P4CEGe9%IJx2+eBV+^$ovR^;@N6=zg|U(PI^%f~Gs3 zdP1s=$G7kS@ccOTld?} zW-Zj$x{Cxx_bq}$>FrgD_!pAKo(sJo+t`G?strL_4$3MZAXuPn2%5Jn}K-8 zhv4h{5`Ya5h%xoxHvAvhCHPZ1xry^32l1Rq_K#|cbl<@TA(kkh2qc|700PIb&3;5b zf)d0^dEdnePo$?X#>wBK1f&K8f8t~73L|VFMOb!3?1#>|?cw(fM?eOKSj(fNYi3XE z1m2xORC0~!6 z(XZifmW=ya@MVTo4_c_i)E^swu!lGW1qB<$>D?|v$nw6laQu^va0kA5 z;n5RI6F;_RSk;wxGVA>2O*!AA9)0wKaA2VQVE7>;h2M*pd9QTs7t?Q)aW>a3IIE-^ zP3y3UTK(7kaH~(#t;x|Px4aX1AF!xCZ621}5>S>m@Aq+$&v9O*ChdIB`_X&F!Sl=1 z)iN&8V~6ImUcK`VR#|%&f%Y-W@nd;SXnZJhr$_S)ZK|1&cZ$&Lj!D_BN`IicKkeQG zS9~V*Z`rccThTVRqi;O7vDx2YJX7qT;ysx@|H3Y{ci(Wv#RQIJkuxlte;;2G-KML} z*EX@S)mB1Ep}kPo%||3*NNHbfQ-jIxxpvv|=&{CytVd1$!46Kb4-)5D9Ok1PZcZ%4 zlu+SMg~W3c8NIvd8%@S~dyfE`6^gy}zOIhI?kw3;Xx!J=ABeMkM0MI;8B`7i#ny}S zWo)88#e?ibR09fBlj)a^j=AEjEcgr^!J*vT{Ul-gaFz}?y@o6O;SAAvzK8Z4?)3}} zhxFVwt8)Yg?a9nhlaXwxiHLaNkS-(aeJxo3OV`k5)GqC!s+#bRhKN`)H?n3*bi{kh z7Ib29_R1J`#J)(d7ZhspI${1+B{Ryj*X;YW_-^jX;=q!#iJPtrPGk+H(1)bc2cB8T6$bool8e~`+d zu9O$a5NZ6<9^p1+P@t|KT@`ZU{K$l9J2zj><#ySCd;Twj<@r+rGc6WIJPRHV>@*dx z_yRPU+o=lY$S|IYMn z;+qyY%II(ha^3nap>6t8!jnSg;OaoB)@v2+er^6*$@Uy=#z$Hjv{t?qYe=@;=M`X= z$)pszP}%y9KYeqySGjUpp85~t%wsf_E1gvjqW7C=`K~jq&#I05Sn_c-Rv>l3?8%b$ zACqA!*JlrDC;PwiGoRtyZekp!GMAbDL4{j*&5cU)7(FJVlQeBXMsAmw^km;gUodr= zzLgWf5W1vW_AwGIT7zG~ zPs}qib_s94k>PEW6RSsOmF!eGbiB$IoXRjE?Mc$ zPnc$}^C{P7*y%PQ@##~Rwn}5m#En?{VBMQJe&EE-wAvMG?5l0(9QZR_E8tqdy7&7Z z#j^gcHO3o+e3rH@aen8UDe^d3-G8z`+~=agOhl_}xpP>vx;|%+*S?Osj5k??uAsjU zXAtEAhfHx*^b!92sy7k*m5iHrCz4K+!K1I`X!ms3aZBEgW)UF`YT*lM>|>hssR5a1 zMW&^GL|P>lyC4r?=!jfI@Q;7l*Q;$^0y^ULoHf4-vys|n5WS?SqF4W0-ragUB-8y?a$C8>tYjbED`_33Pqx#`9Y5Yk=r7EC za4d26_sjXHK9(KH)bCzkg%*RC>~|abU0Ia_{T&=`il>uxZYtHCqo==eL#eet%C@hT zUaP~3{>wq+Rx6v$b5KY15@;+vqz2m%(*Yf*JV=mbyaIUeCSjm z>AU`nMfc~U8>0n5ane7e!d zID;ppaX!QHiF2*VANRW|w@vG--dhg~O&_x?no8K8=N4bGg_my1$!g?D?d#X)=JQny z%rB0KAP2qwc!DoTz)G2+uVsmv5){kJ2;#)X4#pwG(;Wk7$=GQ-n&=O=mkGJ(*NYoU z76#^5uLZ>4)911>-}cd;{^I?B8uK75Wm0>4s=WMUb9ggf7W@629GQOS zn`$fWq2J&s1QH&ZP;+i1QaI2LZCem2gxt4r-4isG|8u_LD1&-)Ax2XLZcu>|gWz@~ zLxn?VsaZ=xu5(X$6oc~LWw!o_p2(Re168l(A5W!IQx@v$4E$z)A+mOP@#xu$mi*z_ zkJx)kvNcL>T*$C_l?l85J!`4b%`ck{{{JrD#3!ig}hHW22{4~V(iY%4Kn(7PEYBhJcTna$OB77~MFWl+ey{B$L*BOL(lYi_<_7#&$(#p+Dny{ zIS55CIxQa^yYFe~<+5RY&ZR$l_E|@#-8?!~$Y1#8x^x|@{$gc=TASXog!0TjsXV@= zUtN9%{`XaD&+8t1RFIQuGxTS)BJW1&lgPqj{sj~FS5zu|6l!s|+m7d>d=X z;N|Hs-}LyiUN_Cs8ePew7M@-cA*0t$n)kE2{L(CP*;a0!e0OJKdOE9nXJCtw2*d09 z>Pg1*Kh5tvd%WZDR^3}!q9JYlda{D5jv~3o^@><4san5hjz{D<_XsAR+W7MaMXhLM zG+$dUe}qq8LOx%nZV6AraB_^t!?uu2O)HJo3wsZ;C(TEGq19tvwW;5Hya0unfA#8$ zBYF?!)$&>53ntgDzDqmEfTsc@)u{33q^JD{V&;}@?rOBXUROW=#|1zP&yvclN{eaT zo4kDByt2+lO}k~knx;cT$r_=W%NZIE;#42-aAvPOXWec)a?8abD|5`p_cp7zPW8Ku z<)5ghs54k|d-F0y-xP|y_+9qIB&zdv&rx*&t>^2FIs!bIB7h#sTUTJPM&j_h-MX^v3Fi~h1WbYL+JW_Uyr;7!xJMGnH@t<=JqE!iztY2%J?5=5T4>1 zb~jkPHm-AR$j9{5%DarL!MiVet469zl9Tr;Gyh;=>xe_XLE-df*T5NjH3KJ`^}e?0 zG5eyTQg+k^h+nB^Z#(ttL#TQE=T&~*r;6Ss@h?W!EM8v|tFvM%Wv;s5Y^{=#nHh5> zHOeL0IxD>^>-)^n;mAmL&9>#&uhTmx3Tv|l-rvaVIGAopl}Ww$!&1M{a@hUm>r>yG z)q>+sz_+H;zzP57346WGjAx@11Oq}gR%4z`dHW+3KHmL@aQapMRD@t!+==yJeaMvBaU&^UrHEa=F?AGg?)8xCe?s{ z5Ux51&E+oYNw;p@(ypbxb51E#^FK!ID^>0*;LBKJ1bxTmB!22-?jR6&{`~p&p7SoL zHn2pJ1$8a=y0YUpaFR-epuFaS_rGcDM&;8F#J)YW$o@BrJ)wSY8#`FY1nhHOx$JiQ zx?%MHFp6#OzT)@1d(`^Bj90y4pZ)RUS2L#Z|BfAbp8l&>t#UcvaB^XxQo`9ceyVdNXVh8r_QcScjTlaX{`_q>zsY=L z)D6)`p56i$enUynblg?S zJC?ipLgl}wiHG$c9T|rO`SC0Ii*U-#kjJgLQ_BrVDm>f@e5^N<2i123yeTG=G614N zUjk|iaqCdL{)V`1R0A8$uO|xw3`zUQC7A#G0i~dz9xStmP;)5W`tSg*05#Ct5kp6E zi>0Ktqdfvq8kt#?;5*BLOi0ZA0pD3L>xqJ>a{$w`A4z`g#^S)#&`Tc0;C`GR{q*4z zr%eXT90cG9vaX(3)SyRAY=*&!%iAZ|kNJ83@Ne&9dN^PCAFjq{m|}Vwa_!CmIHPDo z+>~7VK)-q33}hlv$h$0}2SDj18Xk+>C&Z|bO|-#IVC@|i*o_b^7-{{Xv3=Uf=_Y_Y z@*OcNxI-o^h_U$6?x3$Ja|;WQGIugx&;W_X%}Nfw+P)y9y+Kct!l=Mu3(Ugccls{z zGa4xvue%wXBMPw5qA@MZ>f(zN+!!{3%OoS>9+j+RV`7pAdj

V(1P4dJ+awr!fZc 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 ROga9up6xIzb>^a9{tX$%z6}5X literal 42056 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 @f}f;lpwmO1|wxgJ#;YC3Pu(dRUjCg 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 nSye<>*p8U^^|na July 2011 -********************************************************************************* -This document is not yet finished. The tree branch is still in development. The -information provided here should be correct, just not complete yet. -********************************************************************************* - This document contains all the information you need to configure and use the i3 window manager. If it does not, please contact us on IRC (preferred) or post your question(s) on the mailing list. -////////////////////////////////////////////////////////////////////////////// == Default keybindings For the "too long; didn’t read" people, here is an overview of the default @@ -26,13 +20,8 @@ image:keyboard-layer1.png["Keys to use with mod (alt)",width=600,link="keyboard- image:keyboard-layer2.png["Keys to use with Shift+mod",width=600,link="keyboard-layer2.png"] -As i3 uses keycodes in the default configuration, it does not matter which -keyboard layout you actually use. The key positions are what matters (of course -you can also use keysymbols, see <>). - The red keys are the modifiers you need to press (by default), the blue keys are your homerow. -////////////////////////////////////////////////////////////////////////////// == Using i3