2012-08-18 15:33:36 +02:00
|
|
|
|
|
|
|
|
|
┌──────────────────────────────┐
|
|
|
|
|
│ 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.
|
|
|
|
|
|
2012-09-06 09:47:50 +02:00
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
2012-08-18 15:33:36 +02:00
|
|
|
|
┌────────────────────────────┐
|
|
|
|
|
│ 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 <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
|
2012-09-06 09:47:50 +02:00
|
|
|
|
• '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
|
2012-08-18 15:33:36 +02:00
|
|
|
|
|
|
|
|
|
┌────────────────────────────┐
|
|
|
|
|
│ 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).
|
2012-09-06 09:47:50 +02:00
|
|
|
|
• 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
|
2012-08-18 15:33:36 +02:00
|
|
|
|
|
|
|
|
|
┌────────────────────────────┐
|
|
|
|
|
│ Thanks! │
|
|
|
|
|
└────────────────────────────┘
|
|
|
|
|
|
|
|
|
|
Thanks for testing, bugfixes, discussions and everything I forgot go out to:
|
|
|
|
|
|
|
|
|
|
aksr, Axel Wagner, darkraven, David Coppa, eeemsi, Felicitus, Fernando Tarlá
|
2012-09-06 09:47:50 +02:00
|
|
|
|
Cardoso Lemos, Iakov Davydov, jh, Joel Stemmer, Julius Plenz, Marcel Hellwig,
|
|
|
|
|
Marcus, mloskot, Moritz Bandemer, oblique, Ondrej Grover, Pavel Löbl, Philipp
|
|
|
|
|
Middendorf, prg, Quentin Glidic, Sebastian Ullrich, somelauw, stfn, tucos,
|
2012-08-18 15:33:36 +02:00
|
|
|
|
TunnelWicht, Valentin Haenel
|
|
|
|
|
|
2012-09-06 09:47:50 +02:00
|
|
|
|
-- Michael Stapelberg, 2012-09-06
|