-
- ┌────────────────────────────┐
- │ 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