diff --git a/.gitignore b/.gitignore index 26c170f2..efeb4893 100644 --- a/.gitignore +++ b/.gitignore @@ -5,14 +5,6 @@ include/all.h.pch *.swp *.gcda *.gcno -testcases/testsuite-* -testcases/latest -testcases/Makefile -testcases/Makefile.old -testcases/.last_run_timings.json -testcases/_Inline -testcases/inc -testcases/META.yml test.commands_parser test.config_parser *.output @@ -32,3 +24,5 @@ libi3.a docs/*.pdf docs/*.html !/docs/refcard.html +i3-command-parser.stamp +i3-config-parser.stamp diff --git a/DEPENDS b/DEPENDS index fe9ba17f..4b090272 100644 --- a/DEPENDS +++ b/DEPENDS @@ -10,9 +10,7 @@ │ pkg-config │ 0.25 │ 0.26 │ http://pkgconfig.freedesktop.org/ │ │ libxcb │ 1.1.93 │ 1.7 │ http://xcb.freedesktop.org/dist/ │ │ xcb-util │ 0.3.3 │ 0.3.8 │ http://xcb.freedesktop.org/dist/ │ -│ libev │ 4.0 │ 4.04 │ http://libev.schmorp.de/ │ -│ flex │ 2.5.35 │ 2.5.35 │ http://flex.sourceforge.net/ │ -│ bison │ 2.4.1 │ 2.4.1 │ http://www.gnu.org/software/bison/ │ +│ libev │ 4.0 │ 4.11 │ http://libev.schmorp.de/ │ │ yajl │ 1.0.8 │ 2.0.1 │ http://lloyd.github.com/yajl/ │ │ asciidoc │ 8.3.0 │ 8.6.4 │ http://www.methods.co.nz/asciidoc/ │ │ xmlto │ 0.0.23 │ 0.0.23 │ http://www.methods.co.nz/asciidoc/ │ diff --git a/RELEASE-NOTES-4.5 b/RELEASE-NOTES-4.5 new file mode 100644 index 00000000..1e59a174 --- /dev/null +++ b/RELEASE-NOTES-4.5 @@ -0,0 +1,103 @@ + + ┌──────────────────────────────┐ + │ Release notes for i3 v4.5 │ + └──────────────────────────────┘ + +This is the i3 v4.5. This version is considered stable. All users of i3 are +strongly encouraged to upgrade. + +Most of the changes are cleanups and bugfixes. Due to cleanups, i3 no longer + depends on flex/bison at all. Furthermore, libev ≥ 4 is now a hard dependency + (libev < 4 is not supported anymore). + +One important change to note is that moving windows to a different output will + no longer move focus to that output. If you want to have the old behavior, + modify the keybindings for moving in your configfile like this: + + bindsym $mod+Shift+1 move workspace 1; workspace 1 + + ┌────────────────────────────┐ + │ Changes in v4.5 │ + └────────────────────────────┘ + + • docs/hacking-howto: refer people to cr.i3wm.org + • docs/ipc: Adds Go IPC lib to the docs. + • docs/userguide: remove obsolete sentence about client.background + • docs/userguide: be explicit about assignment processing order + • docs/userguide: be more clear about the resize command arguments + • docs/userguide: fix typo: s/11x/11px/ + • i3-dmenu-desktop: don’t add “geany” if “Geany” is already present + • i3-dmenu-desktop: strip newlines from dmenu ≥ 4.4 + • i3-dmenu-desktop: skip files with broken utf8 but warn about it + • i3-dmenu-desktop: skip broken files (no/empty Exec=) but warn about them + • i3-dmenu-desktop: List filenames of .desktop files + • i3-dmenu-desktop: remove %i from commandline + • i3-nagbar: Work around terminals not supporting -e with quoted arguments + • i3-nagbar: use the same font as configured for i3 + • i3bar: set _NET_SYSTEM_TRAY_COLORS for symbolic icons (gtk3+) + • i3bar: don’t use X11 borders to avoid overlapping in hide mode + • i3bar: separator color via config; separator width and on/off via ipc + • i3bar: Allow min_width of a block in i3bar to be a string + • i3-msg: parse command replies and display errors nicely if there were + errors + • Draw 1px tab separators left/right instead of 2px on the right only + • Render tree before destroying X11 containers upon unmap + • scratchpad show: move visible scratchpad window from another workspace to + focused workspace instead of doing nothing + • ignore MotionNotify events generated while warping the pointer + • Allow X11 servers which do not support the XKB extension. + • remove the urgency indicator when a window is closed + • wrap when moving containers to outputs with direction + • scratchpad_show: focus unfocused scratchpad window + • Split workspace instead of changing orientation + • scratchpad: always auto center on 'scratchpad show' if window hasn't been + repositioned by the user + • Add a new IPC event for changes on windows. + • config: accept “smart” as popup_during_fullscreen parameter + • Add support for _NET_WM_STATE_DEMANDS_ATTENTION. + • Obey WM_SIZE_HINTS's resize increments in floating mode + • Do not move focus if a container is moved across outputs + + ┌────────────────────────────┐ + │ Bugfixes │ + └────────────────────────────┘ + + • Ignore ConfigureRequests for scratchpad windows + • Correctly parse `move ... workspace *_on_output` + • i3bar: Set separator color properly when drawing + • Properly parse commands like “move workspace torrent” + • Handle nested transient popups properly + • Fix decoration rect size for windows without border + • parse outputs as "word", not "string", to ignore trailing whitespace + • fix crash when disabling output without any windows + • scratchpad: fix crash when moving last window of an invisible workspace + • fix coordinates of scratchpad windows on output changes + • call scratchpad_show() when focusing scratchpad windows via criteria + • fix continuous resize bug in floating mode, e.g. with xbmc + • fix “overlapping” --release key bindings + • fix IPC messages writes with low buffer sizes + • unregister as window manager before restarting (fixes a race condition) + • Fix bind[code|sym] --release + • remove superfluous #include + • Makefile: Repect AR environment variable + • i3-input: restore input focus on exit() + • Also draw right tab border for split containers + • Fix scrolling on a tabbed titlebar which contains split cons + • Correctly close floating windows + • handle MapRequests sent between i3 registering as a wm and handling events + • i3bar: fake DestroyNotify and send MANAGER ClientMessages to fix tray restarts + + ┌────────────────────────────┐ + │ Thanks! │ + └────────────────────────────┘ + +Thanks for testing, bugfixes, discussions and everything I forgot go out to: + + Adrien Schildknecht, alex, András Mohari, Artem Shinkarov, badboy, bafain, + cradle, dcoppa, Donald, dRbiG, eeemsi, else, emias, f8l, Francesco Mazzoli, + jasper, joepd, Kacper Kowalik, Kai, knopwob, Marcos, Marius Muja, Mats, + MeanEYE, Merovius, oblique, paolo, phlux, Piotr S. Staszewski, pnutzh4x0r, + rasi, saurabhgeek92, Sebastian Rachuj, Sebastian Ullrich, slowpoke, Steven + Allen, supplantr, Tai-Lin Chu, Tucos, Vivien Didelot, xeen + +-- Michael Stapelberg, 2013-03-12 diff --git a/debian/changelog b/debian/changelog index dcb966ae..ebdfbcef 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +i3-wm (4.4.1-0) unstable; urgency=low + + * NOT YET RELEASED + + -- Michael Stapelberg Wed, 12 Dec 2012 00:23:32 +0100 + i3-wm (4.4-1) experimental; urgency=low * New upstream release diff --git a/debian/control b/debian/control index 02f00de2..f9ecb558 100644 --- a/debian/control +++ b/debian/control @@ -14,9 +14,7 @@ Build-Depends: debhelper (>= 7.0.50~), xmlto, docbook-xml, pkg-config, - libev-dev, - flex, - bison, + libev-dev (>= 1:4.04), libyajl-dev, libpcre3-dev, libstartup-notification0-dev (>= 0.10), diff --git a/docs/hacking-howto b/docs/hacking-howto index 8a246efc..633c2771 100644 --- a/docs/hacking-howto +++ b/docs/hacking-howto @@ -1,7 +1,7 @@ Hacking i3: How To ================== -Michael Stapelberg -July 2011 +Michael Stapelberg +February 2013 This document is intended to be the first thing you read before looking and/or touching i3’s source code. It should contain all important information to help @@ -28,7 +28,8 @@ In the case of i3, the tasks (and order of them) are the following: the first client of X) and manage them (reparent them, create window decorations, etc.) . When new windows are created, manage them -. Handle the client’s `_WM_STATE` property, but only the `_WM_STATE_FULLSCREEN` +. Handle the client’s `_WM_STATE` property, but only `_WM_STATE_FULLSCREEN` and + `_NET_WM_STATE_DEMANDS_ATTENTION` . Handle the client’s `WM_NAME` property . Handle the client’s size hints to display them proportionally . Handle the client’s urgency hint @@ -947,31 +948,20 @@ For a short introduction into using git, see http://www.spheredev.org/wiki/Git_for_the_lazy or, for more documentation, see http://git-scm.com/documentation -When you want to send a patch because you fixed a bug or implemented a cool -feature (please talk to us before working on features to see whether they are -maybe already implemented, not possible for some some reason, or don’t fit -into the concept), please use git to create a patchfile. +Please talk to us before working on new features to see whether they will be +accepted. There are a few things which we don’t want to see in i3, e.g. a +command which will focus windows in an alt+tab like way. -First of all, update your working copy to the latest version of the master -branch: +When working on bugfixes, please make sure you mention that you are working on +it in the corresponding bugreport at http://bugs.i3wm.org/. In case there is no +bugreport yet, please create one. --------- -git pull --------- +After you are done, please submit your work for review at http://cr.i3wm.org/ -Afterwards, make the necessary changes for your bugfix/feature. Then, review -the changes using +git diff+ (you might want to enable colors in the diff using -+git config diff.color auto+). When you are definitely done, use +git commit --a+ to commit all changes you’ve made. - -Then, use the following command to generate a patchfile which we can directly -apply to the branch, preserving your commit message and name: - ------------------------ -git format-patch origin ------------------------ - -Just send us the generated file via email. +Do not send emails to the mailing list or any author directly, and don’t submit +them in the bugtracker, since all reviews should be done in public at +http://cr.i3wm.org/. In order to make your review go as fast as possible, you +could have a look at previous reviews and see what the common mistakes are. == Thought experiments diff --git a/docs/i3-pod2html b/docs/i3-pod2html index 56a769f8..bda7e8d7 100755 --- a/docs/i3-pod2html +++ b/docs/i3-pod2html @@ -30,7 +30,7 @@ $parser->html_header_before_title( - +