┌────────────────────────────┐ │ Release notes for i3 v4.12 │ └────────────────────────────┘ This is i3 v4.12. This version is considered stable. All users of i3 are strongly encouraged to upgrade. If cairo ≥ 1.14.4 is available, i3 and i3bar will use cairo for rendering (instead of raw X11 drawing primitives). While this is currently optional, having cairo ≥ 1.14.4 will be a hard requirement in future release. This release contains a good number of detail improvements and fixes. ┌────────────────────────────┐ │ Changes in i3 v4.12 │ └────────────────────────────┘ • use https instead of git/http, update contact information, add GPG key • docs/hacking-howto: fix old cfgparse.y reference to config_parser.c • docs/ipc: added link to i3ipcpp (C++ library) • docs/userguide: clarify no_focus documentation • docs/userguide: add documentation for binding modes • docs/userguide: fix rendering of __focused__ • docs/userguide: improve placement of explicit IDs for headings • docs/userguide: make rendering of key bindings more consistent • docs/userguide: clarify quoting of “exec” commands • man/i3-nagbar: fix example invocation • man/i3: add “floating window” to terminology • i3-sensible-*: quote variables correctly • i3-sensible-editor: add neovim • i3-sensible-terminal: add termit, st • i3bar: use cairo for all drawing operations • i3bar: support per-statusblock border and background colors • i3bar: support different bar background colors depending on whether the bar is on the focused output or not • i3bar: multiple tray_output directives on the same bar are now supported • i3bar: support disabling the modifier by specifying “modifier none” • use cairo for all drawing operations • fix a number of memory leaks, thanks to AddressSanitizer • no_focus is now suppressed for the first window of a workspace • “workspace next/prev” now looks for numbered workspaces after reaching the last workspace (it used to incorrectly only look at named workspaces) • multiple marks can now be set on a single window (but a mark can still only be present on one window at a time) • the “unmark” command now supports criteria • the “con_id” criterion now supports the special value __focused__ • the “workspace” command now supports the --no-auto-back-and-forth parameter • the “move window to workspace” command now supports the --no-auto-back-and-forth parameter • the “resize grow|shrink width|height” command now works for a nested split in the same direction • support _NET_WM_USER_TIME’s special 0 value, indicating that a window should not be focused • use 32-bit visual by default if available. This reduces graphical glitches when using transparency (which is still not officially supported) • the “move position center” command now supports criteria • specifying invalid match criteria now results in an error instead of blindly applying the operation to the currently focused window • allow mouse bindings to run on the root window • support matching _NET_WM_WINDOW_TYPE_NOTIFICATION in criteria • all criteria are now matched, even when con_id or con_mark are given (used to be a special case) • allow the “id” criterion to be specified in any base recognized by strtol(), not only base 10 • non-true color displays are now supported again (e.g. the Raspberry Pi) • the “split” command now has a “toggle” option • the additional color class “decoration_border” was added • title_format is now stored on containers instead of windows, allowing the use of title_format on split containers • On OpenBSD, i3 now uses pledge(2) • support _NET_WM_DESKTOP (for pager applications like gnome-panel) • floating workspaces are no longer available (they were not supported for a while now) • floating windows now carry the I3_FLOATING_WINDOW atom so that tools like compositors can be configured to match on floating windows ┌────────────────────────────┐ │ Bugfixes │ └────────────────────────────┘ • i3bar: display short text only on the monitor(s) on which it is necessary • i3bar: explicitly set cursor using libxcb-cursor if available • i3bar: fix XEMBED messages • i3-nagbar: explicitly set cursor using libxcb-cursor if available • duplicated keybindings are now also detected when one uses bindcode but the other(s) use(s) bindsym • keymap fallback for servers without XKB (e.g. TightVNC) has been added • using pango markup in mode names is now optional, fixing a regression in i3 v4.11 where modes which contained characters such as “<” would break. • moving windows to a workspace by specifying a mark now works • the root output is now used when any RandR request fails (for x2go) • assignments are now marked as run before executing them, preventing endless loops/crashes when assignments cause another assignment evaluation • splitting/floating a dock container no longer crashes i3 • correctly compare modifier mask when identifying keybindings (fixes bindings which use --release) • no longer fail config validation when there is no newline at the end of the config file • scrollwheel buttons are now only grabbed when necessary, allowing the use of “bindsym button*” or scrolling in windows without focusing them (in case no “bindsym button*” is present) • parse con_id in base 16 (affected FreeBSD only) • fix crash when opening a large number of windows • reject empty swallow definitions to avoid crashes • don’t remove SubstructureRedirect event mask temporarily (fixes i3bar stopping after system suspend) • move urgent flag before killing the parent to avoid a crash • correctly validate “kill” command to avoid crashing when “kill” is invoked on workspace containers • actually accept the documented “workspace” token as an alternative to “→” in assign statements • remove _NET_WM_STATE on withdrawn windows to comply with the spec • the “border” command now uses logical pixels (relevant for hi-dpi displays) • “tray_output primary” does not properly fall back and hence was removed from the default config again • correctly determine focused workspace when moving workspace to output • revert to default binding mode before reloading the config file • correctly interpret _MOTIF_WM_HINTS (endianness-dependent) ┌────────────────────────────┐ │ Thanks! │ └────────────────────────────┘ Thanks for testing, bugfixes, discussions and everything I forgot go out to: Adaephon, Airblader, Alexis211, bendem, botovq, brianmillar, DavidMikeSimon, dcoppa, Florian Merkel, fmthoma, frederik, hwangcc23, jolange, Juuso Lapinlampi, kneitinger, lotheac, nicklan, norrland, pra85, romanblanco, sur5r, tbu-, tyll, wodny -- Michael Stapelberg, 2016-03-06