┌──────────────────────────────┐ │ Release notes for i3 v4.3 │ └──────────────────────────────┘ This is the third release of the new major version of i3, v4.3. It is considered stable. All users of i3 are strongly encouraged to upgrade. One of the most visible changes is probably that commands which lead to an error will now spawn i3-nagbar. This will make you immediately aware of problems such as typos in your configuration file (such as "bindsym $mod+x exc firefox" instead of "exec"). This is not restricted to parser errors, but all errors (such as when trying to move a window to another workspace without actually having a window focused). If this is annoying to you for some specific key configuration, you can turn it off by replacing a binding like: bindsym $mod+x move absolute position center with something like this: bindsym $mod+x exec --no-startup-id i3-msg move absolute position center >/dev/null 2>&1 (Yes, this is somewhat painful, but intended. You should not suppress errors in general, so we don’t want to make it too easy.) We also made the orientation (horizontal/vertical) part of the layout mechanism: Before, we got the default layout and you could change orientation. Now, there are two new layouts "splitv" and "splith", which replace the default layout. The "split h" and "split v" commands continue to work as before, they split the current container and you will end up in a split container with layout splith (after "split h") or splitv (after "split v"). To change a splith container into a splitv container, use either "layout splitv" or "layout toggle split". The latter command is used in the default config as mod+l (previously "layout default"). In case you have "layout default" in your config file, it is recommended to just replace it by "layout toggle split", which will work as "layout default" did before when pressing it once, but toggle between horizontal/vertical when pressing it repeatedly. The rationale behind this commit is that it’s cleaner to have all parameters that influence how windows are rendered in the layout itself rather than having a special parameter in combination with only one layout. This enables us to change existing split containers in all cases without breaking existing features (see ticket #464). Also, users should feel more confident about whether they are actually splitting or just changing an existing split container now. As a nice side-effect, this commit brings back the "layout toggle" feature we once had in i3 version 3 (see the userguide). Another very important change is that we now support pango for rendering text. The default is still to use misc-fixed (X core fonts), but you can use a font specification starting with "xft:" now, such as "xft:DejaVu Sans Mono 10" and i3 will use pango. The sole motivation for this is NOT to have fancier window decorations, but to support fonts which have more glyphs (think Japanese for example) and to support right-to-left rendering (open http://www.ftpal.net/ for an example). Supporting users from all over the planet is important, and as such I would strongly advise distribution packagers to leave pango support in. In case you are working on a very low-spec embedded device, it is easy enough to disable pango support, see common.mk. ┌────────────────────────────┐ │ Changes in v4.3 │ └────────────────────────────┘ • docs/refcard: update for v4 • docs/userguide: clarify the default for focus_follows_mouse and new_window • docs/userguide: add section about implicit containers • docs/ipc: document the 'window' field in the GET_TREE reply • docs/ipc: update links to ipc libraries • docs/ipc: make the reply sections consistent • docs/i3bar-protocol: add example (illustration-only!) shell script • man/i3bar.man: reference i3bar-protocol • IPC: Commands now lead to proper error messages in general. If we forgot about a specific one, please open a ticket. • IPC: implement GET_VERSION to find out the i3 version • i3-dump-log now comes with a massively more helpful error message that should cover all the use cases. • 'workspace number ' now opens a new workspace • 'workspace number ' now works with the back_and_forth option • Allow focus with target (criteria) when in fullscreen mode in some cases • Allow focus child/parent when in fullscreen mode • Restrict directional focus when in fullscreen mode • Prevent moving out of fullscreen containers • Add 'move to workspace current' (useful when used with criteria) • replace loglevels by a global debug logging • make: new makefile layout • make: canonicalize path when compiling. This leads to sth like ../i3-4.2/src/main.c in backtraces, clearly identifying i3 code. • automatically hide i3bar when it’s unneeded (after urgency hints) • i3-config-wizard: use the level 0 keysym whenever it’s unambiguous • i3-nagbar: use custom scripts to work around different terminal emulators using different ways of interpreting the arguments to -e • i3-sensible-terminal: add xfce4-terminal • default config: require confirmation when exiting i3 • Display i3-nagbar when a command leads to an error. • testcases: complete-run now supports --xtrace • testcases: handle EAGAIN (fixes hangs) • testcases: handle test bailouts • Introduce splith/splitv layouts, remove orientation • Implement hide_edge_borders option • Support _NET_ACTIVE_WINDOW ClientMessages • Set I3_PID atom on the X11 root window • Implement i3 --moreversion, handy for figuring out whether you run the latest binary which is installed. • i3bar: be less strict about the {"version":1} JSON header • shm-logging: implement i3-dump-log -f (follow) • Implement pango support ┌────────────────────────────┐ │ Bugfixes │ └────────────────────────────┘ • Fix floating precision bug when floating windows are moved between outputs. • i3bar won’t crash when full_text is missing or null in the JSON input • When having "workspace number 1" in your config, there will no longer be a stray workspace "number 1". • i3.config.keycodes used bindsym instead of bindcode for the arrow key resizing bindings by mistake • Fix 'move to workspace' when used with criteria • Handle clicks to the very left edge of i3bar • When using i3 -C, don’t send remaining arguments as an IPC command • Fix reload crashes in rare cases • i3bar: inform all clients of new tray selection owner (fixes tray problems with X-Chat and possibly others) • resizing: traverse containers up properly (fixes non-working resizing when having a h-split within a h-split for example) • Fix floating coordinates when moving assigned workspaces • Properly fix floating coordinates when disabling outputs • floating_fix_coordinates: properly deal with negative positions • floating windows: add deco_height only when in normal border mode (fixes initial floating window position/size when using a different default border setting). • Fix moving scratchpad window • Cleanup zero-byte logfile on immediate exit (they are created by i3 --get-socketpath for example). ┌────────────────────────────┐ │ Thanks! │ └────────────────────────────┘ Thanks for testing, bugfixes, discussions and everything I forgot go out to: aksr, Axel Wagner, darkraven, David Coppa, eeemsi, Felicitus, Fernando Tarlá Cardoso Lemos, Iakov Davydov, jh, Julius Plenz, Marcel Hellwig, Marcus, Michael Stapelberg, mloskot, Moritz Bandemer, oblique, Ondrej Grover, Pavel Löbl, Philipp Middendorf, prg, Quentin Glidic, somelauw, stfn, tucos, TunnelWicht, Valentin Haenel -- Michael Stapelberg, 2012-08-18