]> git.sur5r.net Git - i3/i3/blob - RELEASE-NOTES-4.3
unregister as window manager before restarting (fixes a race condition)
[i3/i3] / RELEASE-NOTES-4.3
1
2  ┌──────────────────────────────┐
3  │ Release notes for i3 v4.3    │
4  └──────────────────────────────┘
5
6 This is the i3 v4.3. This version is considered stable. All users of i3 are
7 strongly encouraged to upgrade.
8
9 One rather visible change is that commands which could not be parsed properly
10   will now spawn i3-nagbar. In case you used "bindsym $mod+x firefox" (and
11   forgot the "exec" keyword) or you made a typo in your config, you will now
12   notice that :).
13
14
15 We also made the orientation (horizontal/vertical) part of the layout
16   mechanism: Before, we got the default layout and you could change
17   orientation. Now, there are two new layouts "splitv" and "splith", which
18   replace the default layout. The "split h" and "split v" commands continue to
19   work as before, they split the current container and you will end up in a
20   split container with layout splith (after "split h") or splitv (after
21   "split v").
22
23   To change a splith container into a splitv container, use either "layout
24   splitv" or "layout toggle split". The latter command is used in the
25   default config as mod+e (formerly "layout default"). In case you have
26   "layout default" in your config file, it is recommended to just replace
27   it by "layout toggle split", which will work as "layout default" did
28   before when pressing it once, but toggle between horizontal/vertical
29   when pressing it repeatedly.
30
31   The rationale behind this change is that it’s cleaner to have all
32   parameters that influence how windows are rendered in the layout itself
33   rather than having one special layout in combination with an additional
34   orientation. This enables us to change existing split containers in all
35   cases without breaking existing features (see ticket #464). Also, users
36   should feel more confident about whether they are actually splitting or
37   just changing an existing split container now.
38
39   As a nice side-effect, this commit brings back the "layout toggle"
40   feature we once had in i3 v3 (see the userguide).
41
42
43 Another very important change is that we now support pango for rendering text.
44   The default is still to use misc-fixed (X core fonts), but you can use a font
45   specification starting with "xft:" now, such as "xft:DejaVu Sans Mono 10" and
46   i3 will use pango. The sole motivation for this is NOT to have fancier window
47   decorations, but to support fonts which have more glyphs (think Japanese for
48   example) and to support right-to-left rendering (open http://www.ftpal.net/
49   for an example). Supporting users from all over the planet is important, and
50   as such I would strongly advise distribution packagers to leave pango support
51   enabled. In case you are working on a very low-spec embedded device, it is
52   easy enough to disable pango support, see common.mk.
53
54
55 Also, the 'layout' command now always works on the parent split container. This
56   allows you to do things like this:
57
58       for_window [class="XTerm"] layout tabbed
59
60   When you now open XTerm on an empty workspace, the whole workspace will be
61   set to tabbed. In case you want to open XTerm in its own tabbed split
62   container, you need to split before:
63
64       for_window [class="XTerm"] split v, layout tabbed
65
66
67 Furthermore, we decided to entirely ignore resize increment size hints for
68   tiling windows. These are set by terminal emulators (such as urxvt,
69   gnome-terminal, …) and specify that the window may only be resized in
70   multiples of the specified size. All terminal emulators cope with the window
71   manager ignoring these hints and by doing so, they can decide what to do with
72   the lost space (that is, pseudo-transparency now works without black bars in
73   urxvt).
74
75  ┌────────────────────────────┐
76  │ Changes in v4.3            │
77  └────────────────────────────┘
78
79   • docs: there now is documentation about lib::i3test and lib::i3test::Test,
80     the main Perl modules used by our testsuite.
81   • docs/refcard: update for v4
82   • docs/userguide: clarify the default for focus_follows_mouse and new_window
83   • docs/userguide: add section about implicit containers
84   • docs/userguide: give 'move <container|workspace> to output' its own section
85   • docs/ipc: document the 'window' field in the GET_TREE reply
86   • docs/ipc: update links to ipc libraries
87   • docs/ipc: make the reply sections consistent
88   • docs/i3bar-protocol: add example (illustration-only!) shell script
89   • man/i3bar.man: reference i3bar-protocol
90   • IPC: Commands now lead to proper error messages in general. If we forgot
91     about a specific one, please open a ticket.
92   • IPC: implement GET_VERSION to find out the i3 version
93   • i3-dump-log now comes with a massively more helpful error message that
94     should cover all the use cases.
95   • 'workspace number <number>' now opens a new workspace
96   • 'workspace number <number>' now works with the back_and_forth option
97   • Allow focus with target (criteria) when in fullscreen mode in some cases
98   • Allow focus child/parent when in fullscreen mode
99   • Restrict directional focus when in fullscreen mode
100   • Prevent moving out of fullscreen containers
101   • Add 'move to workspace current' (useful when used with criteria)
102   • replace loglevels by a global debug logging
103   • make: new makefile layout
104   • make: canonicalize path when compiling. This leads to sth like
105     ../i3-4.2/src/main.c in backtraces, clearly identifying i3 code.
106   • automatically hide i3bar when it’s unneeded (after urgency hints)
107   • i3-config-wizard: use the level 0 keysym whenever it’s unambiguous
108   • i3-nagbar: use custom scripts to work around different terminal emulators
109     using different ways of interpreting the arguments to -e
110   • i3-sensible-terminal: add xfce4-terminal
111   • default config: require confirmation when exiting i3
112   • Display i3-nagbar when a command leads to an error.
113   • testcases: complete-run now supports --xtrace
114   • testcases: handle EAGAIN (fixes hangs)
115   • testcases: handle test bailouts
116   • Introduce splith/splitv layouts, remove orientation
117   • Implement hide_edge_borders option
118   • Support _NET_ACTIVE_WINDOW ClientMessages
119   • Set I3_PID atom on the X11 root window
120   • Implement i3 --moreversion, handy for figuring out whether you run the
121     latest binary which is installed.
122   • i3bar: be less strict about the {"version":1} JSON header
123   • shm-logging: implement i3-dump-log -f (follow)
124   • Implement pango support
125   • 'move workspace number n' will now create the workspace if it doesn’t exist
126   • Accept slashes in RandR output names
127   • Keep startup-notification sequences around for 30s after completion
128   • Introduce bindsym --release, which will trigger the binding not on the
129     KeyPress event, but on the KeyRelease event (useful for import(1) or
130     xdotool(1)).
131   • The signalhandler does not offer you to exit i3 anymore. Instead, there is
132     'b' for writing a backtrace to a file in /tmp (if gdb is installed)
133   • Remove support for resize increment hints for tiling windows
134   • Exit fullscreen mode when 'scratchpad show' is executed while in fullscreen
135
136  ┌────────────────────────────┐
137  │ Bugfixes                   │
138  └────────────────────────────┘
139
140   • Fix floating precision bug when floating windows are moved between outputs.
141   • i3bar won’t crash when full_text is missing or null in the JSON input
142   • When having "workspace number 1" in your config, there will no longer be a
143     stray workspace "number 1".
144   • i3.config.keycodes used bindsym instead of bindcode for the arrow key
145     resizing bindings by mistake
146   • Fix 'move to workspace' when used with criteria
147   • Handle clicks to the very left edge of i3bar
148   • When using i3 -C, don’t send remaining arguments as an IPC command
149   • Fix reload crashes in rare cases
150   • i3bar: inform all clients of new tray selection owner (fixes tray problems
151     with X-Chat and possibly others)
152   • resizing: traverse containers up properly (fixes non-working resizing when
153     having a h-split within a h-split for example)
154   • Fix floating coordinates when moving assigned workspaces
155   • Properly fix floating coordinates when disabling outputs
156   • floating_fix_coordinates: properly deal with negative positions
157   • floating windows: add deco_height only when in normal border mode (fixes
158     initial floating window position/size when using a different default border
159     setting).
160   • Fix moving scratchpad window
161   • Cleanup zero-byte logfile on immediate exit (they are created by i3
162     --get-socketpath for example).
163   • Fix resizing floating windows by height
164   • Fix back_and_forth in 'workspace number' for named workspaces
165   • Grab server and process pending events before managing existing windows
166     (fixes problems with GIMP windows not being managed after an in-place
167      restart)
168   • Don’t allow ConfigureRequests while in fullscreen (fixes a compatibility
169     issue with gnome-terminal and xfce’s terminal)
170   • Fix flickering with 1pixel border tabbed layouts
171   • Use _exit() instead of exit() when i3 utility programs cannot be executed
172   • Don’t focus the wrong workspace when moving to scratchpad
173
174  ┌────────────────────────────┐
175  │ Thanks!                    │
176  └────────────────────────────┘
177
178 Thanks for testing, bugfixes, discussions and everything I forgot go out to:
179
180   aksr, Axel Wagner, darkraven, David Coppa, eeemsi, Felicitus, Fernando Tarlá
181   Cardoso Lemos, Iakov Davydov, jh, Joel Stemmer, Julius Plenz, loblik, Marcel
182   Hellwig, Marcus, mloskot, Moritz Bandemer, oblique, Ondrej Grover, Pavel
183   Löbl, Philipp Middendorf, prg, Quentin Glidic, Sebastian Ullrich, Simon
184   Elsbrock, somelauw, stfn, tucos, TunnelWicht, Valentin Haenel
185
186 -- Michael Stapelberg, 2012-09-19