125 lines
6.3 KiB
Groff
125 lines
6.3 KiB
Groff
|
||
┌──────────────────────────────┐
|
||
│ Release notes for i3 v4.9 │
|
||
└──────────────────────────────┘
|
||
|
||
This is i3 v4.9. This version is considered stable. All users of i3 are
|
||
strongly encouraged to upgrade.
|
||
|
||
Notable new features include mouse button bindings and improved EWMH
|
||
compatibility, meaning more external pager programs work with i3 now.
|
||
|
||
Aside from that, this release contains plenty of bugfixes and little
|
||
enhancements.
|
||
|
||
The new dependency on libxkbcommon ≥ 0.4.0 is notable for distribution
|
||
packages. This dependency allowed us to drop our last direct dependency
|
||
on Xlib :).
|
||
|
||
It’s also worth mentioning that all i3 repositories are now on GitHub, see
|
||
http://thread.gmane.org/gmane.comp.window-managers.i3.general/1666 for the
|
||
announcement.
|
||
|
||
┌────────────────────────────┐
|
||
│ Changes in v4.9 │
|
||
└────────────────────────────┘
|
||
|
||
• docs/ipc: use an actual event type
|
||
• docs/debugging: use logs.i3wm.org
|
||
• docs/testsuite: add hint to use xvfb-run
|
||
• testcases: use Xephyr instead of XDummy
|
||
• i3-sensible-*: use command -v (built-in) instead of which(1)
|
||
• i3.xsession.desktop: set DesktopNames (which gdm uses)
|
||
• i3-save-tree: interpret commandline parameters as utf-8
|
||
• i3-save-tree: add 'mark' as allowed key to i3-save-tree output
|
||
• i3bar-protocol: ensure align = left is the default
|
||
• i3bar: implement custom mouse wheel commands
|
||
• i3bar: improve error message when a full_text property is missing
|
||
• i3bar: respect the urgency flag on status blocks
|
||
• i3bar: inset the urgent background of a status block for consistency with
|
||
workspace buttons
|
||
• i3bar: suspend the child when bars are fully obscured
|
||
• i3bar: use Pango markup
|
||
• ipc: implement the window::close event
|
||
• ipc: implement the window::move event
|
||
• ipc: implement the window::floating event
|
||
• ipc: implement the window::urgent event
|
||
• ipc: set ws reply "num" member to -1 when named
|
||
• ipc: add deco_rect property to con in ipc response
|
||
• ipc: include workspace con in workspace event
|
||
• ewmh: implement property _NET_NUMBER_OF_DESKTOPS
|
||
• ewmh: implement property _NET_DESKTOP_VIEWPORT
|
||
• ewmh: implement property _NET_DESKTOP_NAMES
|
||
• ewmh: handle _NET_CURRENT_DESKTOP requests
|
||
• ewmh: handle _NET_CLOSE_WINDOW requests
|
||
• ewmh: handle _NET_WM_MOVERESIZE requests
|
||
• implement mouse bindings (e.g. bindsym button3 kill)
|
||
• add mouse binding --whole-window flag
|
||
• add mouse binding --release flag
|
||
• switch to xcb-xkb and libxkbcommon, removing our last direct Xlib dep
|
||
• make “move [direction]” work with criteria
|
||
• make “move <window|container> to <absolute> position” work with criteria
|
||
• “workspace <n>” and “move to workspace <n>” now look for a workspace
|
||
starting with number <n> (unless there is a workspace exactly matching that
|
||
number). I.e., “workspace 4” will go to a workspace called “4: www” unless
|
||
you have a workspace “4”
|
||
• “focus <direction>” now focuses floating containers when there are no
|
||
tiling containers on the destination output
|
||
• take the motif border into account when calculating floating window
|
||
geometry
|
||
• revert “Disable pointer warps when focus_follows_mouse is disabled” as it
|
||
was unexpected by a number of users. Sorry for the back-and-forth
|
||
• handle WM_CLASS changes
|
||
• raise floating windows on “focus <direction>”
|
||
• align lower line of bar decoration to border width
|
||
• parse tray_output as a word, not string
|
||
• allow to validate the config file without X
|
||
• do not resend focus on click, fixes compatibility problems with some wine
|
||
or mono apps (e.g. Office 2010)
|
||
• don't draw borders wider than actual width
|
||
• prevent workspace change during global fullscreen
|
||
• extend the fullscreen command (fullscreen <enable|toggle|disable> [global])
|
||
• fix start_application() doc about which shell is used
|
||
|
||
┌────────────────────────────┐
|
||
│ Bugfixes │
|
||
└────────────────────────────┘
|
||
|
||
• i3-dmenu-desktop: quote path
|
||
• i3bar: fix a double free when changing color configuration
|
||
• i3bar: render bars after the first chunk of JSON
|
||
• i3bar: add a sync call to confirm reparents before exiting (fixes tray
|
||
restart issues)
|
||
• i3bar: correctly calculate clicks on i3bar status blocks
|
||
• i3bar: make click events on status blocks work with 'workspace_buttons no'
|
||
• retina support: convert logical to physical pixels for default_border_width
|
||
• retina support: treat everything up to 120 dpi as 96 dpi
|
||
• don’t set input focus if not accepted (fixes problems with xfce4-notifyd)
|
||
• don’t focus unmapped container on manage
|
||
• create the directory for storing the restart state
|
||
• avoid changing border width when changing containers from tiling to
|
||
floating
|
||
• layout saving: properly restore workspace containers
|
||
• rerender the decoration when the container requires a pixmap and doesn’t
|
||
have one
|
||
• don’t set focus in con_set_layout() on invisible workspaces
|
||
• properly handle windows unsetting WM_TRANSIENT_FOR
|
||
• use the command parser to properly extract workspace names
|
||
• copy binding before run (fixes reloads)
|
||
• revert "Bugfix: Set input focus with last timestamp"
|
||
• render floating windows during global fullscreen
|
||
• actually parse client.placeholder
|
||
|
||
┌────────────────────────────┐
|
||
│ Thanks! │
|
||
└────────────────────────────┘
|
||
|
||
Thanks for testing, bugfixes, discussions and everything I forgot go out to:
|
||
|
||
Alexander Monakov, aszlig, cornerman, dmurph, Mats, dsargrad, hercek, hjem,
|
||
Ingo, Ingo Bürk, Janus, javier, jefvel, Lukas K, Marein Konings, Mats,
|
||
Michael Stapelberg, Mii, nikolaus, okraits, Peter, smlb, sur5r, Tony Crisci,
|
||
val, vals, xeen, Yves-Alexis
|
||
|
||
-- Michael Stapelberg, 2015-02-28
|