+++ /dev/null
-
- ┌──────────────────────────────┐
- │ Release notes for i3 v4.3 │
- └──────────────────────────────┘
-
-This is the i3 v4.3. This version is considered stable. All users of i3 are
-strongly encouraged to upgrade.
-
-One rather visible change is that commands which could not be parsed properly
- will now spawn i3-nagbar. In case you used "bindsym $mod+x firefox" (and
- forgot the "exec" keyword) or you made a typo in your config, you will now
- notice that :).
-
-
-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+e (formerly "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 change is that it’s cleaner to have all
- parameters that influence how windows are rendered in the layout itself
- rather than having one special layout in combination with an additional
- orientation. 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 v3 (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
- enabled. In case you are working on a very low-spec embedded device, it is
- easy enough to disable pango support, see common.mk.
-
-
-Also, the 'layout' command now always works on the parent split container. This
- allows you to do things like this:
-
- for_window [class="XTerm"] layout tabbed
-
- When you now open XTerm on an empty workspace, the whole workspace will be
- set to tabbed. In case you want to open XTerm in its own tabbed split
- container, you need to split before:
-
- for_window [class="XTerm"] split v, layout tabbed
-
-
-Furthermore, we decided to entirely ignore resize increment size hints for
- tiling windows. These are set by terminal emulators (such as urxvt,
- gnome-terminal, …) and specify that the window may only be resized in
- multiples of the specified size. All terminal emulators cope with the window
- manager ignoring these hints and by doing so, they can decide what to do with
- the lost space (that is, pseudo-transparency now works without black bars in
- urxvt).
-
- ┌────────────────────────────┐
- │ Changes in v4.3 │
- └────────────────────────────┘
-
- • docs: there now is documentation about lib::i3test and lib::i3test::Test,
- the main Perl modules used by our testsuite.
- • 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/userguide: give 'move <container|workspace> to output' its own section
- • 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 <number>' now opens a new workspace
- • 'workspace number <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
- • 'move workspace number n' will now create the workspace if it doesn’t exist
- • Accept slashes in RandR output names
- • Keep startup-notification sequences around for 30s after completion
- • Introduce bindsym --release, which will trigger the binding not on the
- KeyPress event, but on the KeyRelease event (useful for import(1) or
- xdotool(1)).
- • The signalhandler does not offer you to exit i3 anymore. Instead, there is
- 'b' for writing a backtrace to a file in /tmp (if gdb is installed)
- • Remove support for resize increment hints for tiling windows
- • Exit fullscreen mode when 'scratchpad show' is executed while in fullscreen
-
- ┌────────────────────────────┐
- │ 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).
- • Fix resizing floating windows by height
- • Fix back_and_forth in 'workspace number' for named workspaces
- • Grab server and process pending events before managing existing windows
- (fixes problems with GIMP windows not being managed after an in-place
- restart)
- • Don’t allow ConfigureRequests while in fullscreen (fixes a compatibility
- issue with gnome-terminal and xfce’s terminal)
- • Fix flickering with 1pixel border tabbed layouts
- • Use _exit() instead of exit() when i3 utility programs cannot be executed
- • Don’t focus the wrong workspace when moving to scratchpad
-
- ┌────────────────────────────┐
- │ 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, Joel Stemmer, Julius Plenz, loblik, Marcel
- Hellwig, Marcus, mloskot, Moritz Bandemer, oblique, Ondrej Grover, Pavel
- Löbl, Philipp Middendorf, prg, Quentin Glidic, Sebastian Ullrich, Simon
- Elsbrock, somelauw, stfn, tucos, TunnelWicht, Valentin Haenel
-
--- Michael Stapelberg, 2012-09-19