+++ /dev/null
-
- ┌────────────────────────────┐
- │ Release notes for i3 v4.0 │
- └────────────────────────────┘
-
-This is the first release of the new major version of i3, v4.0. It has been a
-long time since v3.ε was released (over one year). A lot has been happening
-since then, we made 736 commits – compare that to the total number of 1664
-commits for i3.
-
-The reason for the high number of commits and long time for this release is the
-big refactoring we have been doing. Instead of using several lists and a table
-as data structures, we now use a single tree of containers. These containers
-represent invisible entities like your X11 root window, your different monitors
-and workspaces, but also visible entities like actual windows.
-
-Using a tree has made a lot of things cleaner and easier – in the code *and* in
-the user interface. Admittedly though, you will probably need a day or two to
-get used to a few more advanced movement commands if you are used to v3.ε right
-now.
-
- ┌────────────────────────────┐
- │ New features │
- └────────────────────────────┘
-
- • In addition to the proper flex/bison based parser for the config file
- introduced in 3.δ, we now also have a flex/bison parser for commands. What
- this means is that we can have more human-readable, beautiful command names
- instead of cryptic commands like 'f' for fullscreen or 'mh' for move left.
- In fact, the commands for the aforementioned functions *are* 'fullscreen'
- and 'move left'!
-
- • You can now chain commands using ';' (a semicolon). One example for that is
- 'workspace 3 ; exec /usr/bin/urxvt' to switch to a new workspace and open a
- terminal.
-
- • You can specify which windows should be affected by your command by using
- different criteria. A good example is '[class="Firefox"] kill' to get rid
- of all Firefox windows.
-
- • As the configuration file needs new commands (and a few options are
- obsolete), you need to change it. To make this process a little bit easier
- for you, this release comes with the script i3-migrate-config-to-v4. Just
- run it on your current config file and it will spit out a v4 config file to
- stdout. To make things even better, i3 automatically detects v3 config files
- and calls that script, so you never end up with a non-working config :).
-
- • Similarly to the criteria when using commands, we now have a 'for_window'
- configuration directive, which lets you automatically apply certain commands
- to certain windows. Use it to set border styles per window, for example with
- 'for_window [class="XTerm"] border 1pixel'.
-
- • Since dock clients (like dzen2) are now part of the layout tree (as opposed
- to a custom data structure as before), it was easy to implement top and
- bottom dock areas. Programs which properly specify the dock hint get placed
- on the edge of the screen they request. i3bar has the -dtop and -dbottom
- parameters, for example.
-
- • The internal workspace bar is obsolete. Use i3bar instead.
-
- • Resizing now works between all windows!
-
- • Fullscreen now works for everything!
-
- • Floating now works for everything!
-
- • Your layout is now preserved when doing an inplace restart.
-
- • When you have an error in your config file, a new program called i3-nagbar
- will tell you so. It offers you two buttons: One to view the error in your
- $PAGER and one to edit your config in your $EDITOR.
-
- • The default config used key symbols (like 'bind Mod1+f fullscreen') instead
- of key codes. If you use a non-qwerty layout, the program i3-config-wizard
- can create a key symbol based config file based on your current layout. You
- can also chose between Windows (Mod4) and Alt (Mod1) as your default
- modifier. i3-config-wizard will automatically be started as long as you
- don’t have a configuration file for i3.
-
- • Custom X cursor themes are now supported.
-
- • The RandR backend now respects the primary output.
-
- • A wrong 'font' configuration in your config file will no longer make i3
- exit. Instead, it will fall back to a different font and tell you about the
- error in its log.
-
- • The default split direction (whether a new window gets placed right next to
- the current one or below the current one) is now automatically set to
- horizontal if you have a monitor that is wider than high or vertical if you
- a monitor which is higher than wide. This works great with rotated monitors.
-
- • Sockets and temporary files are now placed in XDG_RUNTIME_DIR, if set (this
- is used on systemd based systems).
-
- • Tools like i3bar, i3-msg etc. use the I3_SOCKET_PATH property which is set
- to the X11 root window, so you don’t have to configure your socket path
- anywhere.
-
- • The kill command kills single windows by default now. To kill a whole
- application, use 'kill client'.
-
- • IPC: Commands can now have custom replies. When the parser encounters an
- error, a proper error reply is sent.
-
- • There is now an 'exec_always' configuration directive which works like
- 'exec' but will also be run when restarting.
-
- ┌────────────────────────────┐
- │ Future features │
- └────────────────────────────┘
-
-Our plans were big but our time and manpower is limited. Therefore, the
-following features did not make it into this release. However, the foundation
-is now in place and implementing them is possible, so stay tuned!
-
- • Saving/Restoring specific parts of your layout
-
- • Session saving
-
- • Sticky windows
-
- ┌────────────────────────────┐
- │ Thanks! │
- └────────────────────────────┘
-
-Thanks for testing, bugfixes, discussions and everything I forgot go out to:
-
- aniou, artoj, badboy, cloud, cradle, David Coppa, dbp, dothebart, eeemsi,
- eelvex, f8l, fernando, jan, jimdigriz, jon, julien, kacper, ktosiek,
- lexszero, litemotiv, lourens, madroach, marcus, merovius, mike, mirko, mseed,
- mxf, phnom, quaec, rogutes, sardemff7, smartass, thepub, tiago, tucos,
- woddf2, xpt, ys
-
--- Michael Stapelberg, 2011-07-31
+++ /dev/null
-
- ┌─────────────────────────────┐
- │ Release notes for i3 v4.0.1 │
- └─────────────────────────────┘
-
-This is the second release of the new major version of i3, v4.0.1. It has been
-a long time since v3.ε was released (over one year). A lot has been happening
-since then, we made 736 commits – compare that to the total number of 1664
-commits for i3.
-
-The reason for the high number of commits and long time for this release is the
-big refactoring we have been doing. Instead of using several lists and a table
-as data structures, we now use a single tree of containers. These containers
-represent invisible entities like your X11 root window, your different monitors
-and workspaces, but also visible entities like actual windows.
-
-Using a tree has made a lot of things cleaner and easier – in the code *and* in
-the user interface. Admittedly though, you will probably need a day or two to
-get used to a few more advanced movement commands if you are used to v3.ε right
-now.
-
- ┌────────────────────────────┐
- │ New features in v4.0.1 │
- └────────────────────────────┘
-
- • Fix the build process of i3bar
- • Fix the build process on Mac OS X
- • i3-config-wizard: also start i3bar in the keycode config template
- • userguide: Remove the obsolete bar.* colors
- • userguide: Use i3bar instead of dzen2 in the 'exec' example
-
- ┌────────────────────────────┐
- │ New features in v4.0 │
- └────────────────────────────┘
-
- • In addition to the proper flex/bison based parser for the config file
- introduced in 3.δ, we now also have a flex/bison parser for commands. What
- this means is that we can have more human-readable, beautiful command names
- instead of cryptic commands like 'f' for fullscreen or 'mh' for move left.
- In fact, the commands for the aforementioned functions *are* 'fullscreen'
- and 'move left'!
-
- • You can now chain commands using ';' (a semicolon). One example for that is
- 'workspace 3 ; exec /usr/bin/urxvt' to switch to a new workspace and open a
- terminal.
-
- • You can specify which windows should be affected by your command by using
- different criteria. A good example is '[class="Firefox"] kill' to get rid
- of all Firefox windows.
-
- • As the configuration file needs new commands (and a few options are
- obsolete), you need to change it. To make this process a little bit easier
- for you, this release comes with the script i3-migrate-config-to-v4. Just
- run it on your current config file and it will spit out a v4 config file to
- stdout. To make things even better, i3 automatically detects v3 config files
- and calls that script, so you never end up with a non-working config :).
-
- • Similarly to the criteria when using commands, we now have a 'for_window'
- configuration directive, which lets you automatically apply certain commands
- to certain windows. Use it to set border styles per window, for example with
- 'for_window [class="XTerm"] border 1pixel'.
-
- • Since dock clients (like dzen2) are now part of the layout tree (as opposed
- to a custom data structure as before), it was easy to implement top and
- bottom dock areas. Programs which properly specify the dock hint get placed
- on the edge of the screen they request. i3bar has the -dtop and -dbottom
- parameters, for example.
-
- • The internal workspace bar is obsolete. Use i3bar instead.
-
- • Resizing now works between all windows!
-
- • Fullscreen now works for everything!
-
- • Floating now works for everything!
-
- • Your layout is now preserved when doing an inplace restart.
-
- • When you have an error in your config file, a new program called i3-nagbar
- will tell you so. It offers you two buttons: One to view the error in your
- $PAGER and one to edit your config in your $EDITOR.
-
- • The default config used key symbols (like 'bind Mod1+f fullscreen') instead
- of key codes. If you use a non-qwerty layout, the program i3-config-wizard
- can create a key symbol based config file based on your current layout. You
- can also chose between Windows (Mod4) and Alt (Mod1) as your default
- modifier. i3-config-wizard will automatically be started as long as you
- don’t have a configuration file for i3.
-
- • Custom X cursor themes are now supported.
-
- • The RandR backend now respects the primary output.
-
- • A wrong 'font' configuration in your config file will no longer make i3
- exit. Instead, it will fall back to a different font and tell you about the
- error in its log.
-
- • The default split direction (whether a new window gets placed right next to
- the current one or below the current one) is now automatically set to
- horizontal if you have a monitor that is wider than high or vertical if you
- a monitor which is higher than wide. This works great with rotated monitors.
-
- • Sockets and temporary files are now placed in XDG_RUNTIME_DIR, if set (this
- is used on systemd based systems).
-
- • Tools like i3bar, i3-msg etc. use the I3_SOCKET_PATH property which is set
- to the X11 root window, so you don’t have to configure your socket path
- anywhere.
-
- • The kill command kills single windows by default now. To kill a whole
- application, use 'kill client'.
-
- • IPC: Commands can now have custom replies. When the parser encounters an
- error, a proper error reply is sent.
-
- • There is now an 'exec_always' configuration directive which works like
- 'exec' but will also be run when restarting.
-
- ┌────────────────────────────┐
- │ Future features │
- └────────────────────────────┘
-
-Our plans were big but our time and manpower is limited. Therefore, the
-following features did not make it into this release. However, the foundation
-is now in place and implementing them is possible, so stay tuned!
-
- • Saving/Restoring specific parts of your layout
-
- • Session saving
-
- • Sticky windows
-
- ┌────────────────────────────┐
- │ Thanks! │
- └────────────────────────────┘
-
-Thanks for testing, bugfixes, discussions and everything I forgot go out to:
-
- aniou, artoj, badboy, cloud, cradle, David Coppa, dbp, dothebart, eeemsi,
- eelvex, f8l, fernando, jan, jimdigriz, jon, julien, kacper, ktosiek,
- lexszero, litemotiv, lourens, madroach, marcus, merovius, mike, mirko, mseed,
- mxf, phnom, quaec, rogutes, sardemff7, smartass, thepub, tiago, tucos,
- woddf2, xpt, ys
-
--- Michael Stapelberg, 2011-08-01
+++ /dev/null
-
- ┌─────────────────────────────┐
- │ Release notes for i3 v4.0.2 │
- └─────────────────────────────┘
-
-This is the third release of the new major version of i3, v4.0.2. It is a
-bugfix release and considered stable. A lot of bugs and suggestions have been
-reported since the release of v4.0.1. This release fixes 44 bugs and includes a
-few other minor improvements.
-
-
- ┌────────────────────────────┐
- │ Changes in v4.0.2 │
- └────────────────────────────┘
-
- • i3-config-wizard: handle mouse button clicks on <win> and <alt> texts
- • i3-config-wizard: check the modifier mapping to decide whether to use Mod1
- or Mod4
- • migrate-config: use \s, be a bit more whitespace tolerant
- • userguide: s/mod+h/mod+s for stacking
- • userguide: provide the default colors in the colors example
- • userguide: document force_focus_wrapping directive
- • userguide: properly document the resize command
- • userguide: properly document command chaining and criteria
- • Bugfix: Correctly bind on multiple keycodes if a symbol has more than one
- • Bugfix: Allow multiple criteria in 'for_window'
- • Bugfix: Ensure a minimum size when using the 'resize' command
- • Bugfix: Start on the first named workspace, not always on '1'
- • Bugfix: Fix resize command with direction != up for floating windows
- • Bugfix: Correctly set the _NET_CLIENT_LIST_STACKING hint (chromium tabbar)
- • Bugfix: 'workspace <next|prev>' now takes all outputs into account
- • Bugfix: i3-wsbar: make workspace names clickable again
- • Bugfix: i3-wsbar: correctly handle EOF on stdin
- • Bugfix: i3-wsbar: display a separator between workspaces of each output
- • Bugfix: Correctly handle the 'instance' criterion (WM_CLASS)
- • Bugfix: Use correct format string in load_layout (fixes crash in restart)
- • Bugfix: Fix border rendering (border lines were "cutting" through)
- • Bugfix: Raise floating windows immediately when dragging/resizing
- • Bugfix: Make focus switching work accross outputs again
- • Bugfix: migration-script: handle resize top/bottom correctly
- • Bugfix: Fix focus issue when moving containers to workspaces
- • Bugfix: Warp cursor when changing outputs again
- • Bugfix: i3bar: fix switching to workspaces with extremely long names
- • Bugfix: i3bar: fix switching to workspaces "next" and "prev"
- • Bugfix: i3bar: Correctly allocate pixmap for statuslines which are longer
- than the screen
- • Bugfix: i3bar: set statusline = NULL on EOF / SIGCHLD
- • Bugfix: Correctly initialize the verbose flag
- • Bugfix: Don’t start with workspace 'next' when the command 'workspace next'
- is bound in the config file
- • Bugfix: Set focus to where the mouse pointer is when starting
- • Bugfix: Don’t change focus when assigned windows start on invisible
- workspaces
- • Bugfix: Don’t use absolute paths for exec in the config file
- • Bugfix: Fix crash when using 'focus mode_toggle' on an empty workspace
- • Bugfix: Make the 'resize' command work inside tabbed/stacked cons
- • Bugfix: Correctly place floating windows on their appropriate output
- • Bugfix: Fix coordinates when moving a floating window to a different output
- • Bugfix: Correctly keep focus when moving non-leaf windows
- • Bugfix: Accept '\t' in the set command
- • Bugfix: Only consider tiling windows when attaching tiling windows to a
- workspace
- • Bugfix: Correctly render containers when a split container is focused
- • Bugfix: Correctly recognize duplicate workspace assignments
- • Bugfix: Re-enable X11 Eventmask •after• pushing all the X11 changes
- • Bugfix: Fix focus stealing with assignments of floating windows
- • Bugfix: Re-implement reconfiguring height of dock windows
- • Bugfix: IPC: return name_json if available
- • Bugfix: Make 'floating enable' check for dock windows
-
-
- ┌────────────────────────────┐
- │ Thanks! │
- └────────────────────────────┘
-
-Thanks go out to the following contributors / reporters:
-
- andi, Atsutane, BeF, ccount, cls, edelkind, eeemsi, f8l, ioflag, Jan, kraM,
- marforio, Merovius, Moredread, mseed, Niklas, nutron, pnutzh4x0r, rogutes,
- Sander, sbedivere, sur5r, thomasba, tilman, Tim, ubitux
-
--- Michael Stapelberg, 2011-08-28
+++ /dev/null
-
- ┌────────────────────────────┐
- │ Release notes for i3 v4.1 │
- └────────────────────────────┘
-
-This is the second release of the new major version of i3, v4.1. It brings some
-new (and long-awaited) features, the most prominent being tray support in i3bar
-(for NetworkManager, Skype, etc.).
-
-The assign syntax has changed to support criteria now. Also, criteria support
-regular expressions (using PCRE) now. Check the userguide for the new syntax.
-i3-nagbar will automatically display a warning when you use the old syntax.
-
-i3 now supports startup notifications, meaning that during an application
-starts up, the mouse cursor will change to 'watch' on the root window. Also,
-the application window will appear on the workspace on which it was launched
-(not on the currently focused workspace). Some applications don’t support
-startup notifications. If the cursor change bothers you, turn it off by using
-the --no-startup-id flag (see the userguide).
-
-This release has been in use by many users and is considered stable. Please
-upgrade.
-
-
- ┌────────────────────────────┐
- │ New features │
- └────────────────────────────┘
-
- • Switch to dpkg-source 3.0 (quilt) and compat level 7
- • Implement system tray support in i3bar (for NetworkManager, Skype, …)
- • i3bar is now configurable in the i3 configfile
- • Implement support for PCRE regular expressions in criteria
- • Implement a new assign syntax which uses criteria
- • Sort named workspaces whose name starts with a number accordingly
- • Warn on duplicate bindings for the same key
- • Restrict 'resize' command to left/right for horizontal containers, up/down
- for vertical containers
- • Implement support for startup notifications (cursor will change to 'watch',
- started applications show up on the workspace they have been launched on)
- • Implement the GET_MARKS IPC request to get all marks
- • Implement the new_float config option (border style for floating windows)
- • Implement passing IPC sockets to i3 (systemd-style socket activation)
- • Implement the 'move output' command to move containers to a specific output
- • Implement focus switching for floating windows
- • Implement the window_role criterion (for matching multi-window apps)
- • Implement a force_xinerama configuration directive
- • Implement the --get-socketpath, useful for scripts using the IPC interface
- • Implement the 'move workspace next' and 'move workspace prev' commands
- • Implement the 'workspace back_and_forth' command and related configuration
- option
- • Implement the move command for floating windows
- • i3 will now handle arbitrary text arguments by sending them as an IPC
- command, like i3-msg: 'i3 reload' or 'i3 move workspace 3'
- • Introduce the i3-sensible-{pager,editor,terminal} scripts to execute
- $PAGER, $EDITOR or an available terminal emulator
- • i3-input: implement -F (format) option
-
-
- ┌────────────────────────────┐
- │ Bugfixes │
- └────────────────────────────┘
-
- • Bugfix: Preserve marks when restarting
- • Bugfix: Correctly free old assignments when reloading
- • Bugfix: Fix flickering when moving floating windows between monitors
- • Bugfix: Correctly handle ConfigureRequests for floating windows in a
- multi-monitor environment.
- • Bugfix: Fix size of floating windows with X11 borders
- • Bugfix: Always adjust floating window position when moving to another
- output
- • Bugfix: Avoid out-of-bounds coordinates when moving floating windows
- • Bugfix: Don’t steal focus when a window gets destroyed
- • Bugfix: Correctly split key/value when parsing variables
- • Bugfix: Correctly revert focus to other floating windows when closing a
- floating window
- • Bugfix: Don’t leak the error logfile file descriptor
- • Bugfix: Don’t steal focus when a window opens on an invisible workspace due
- to assignments
- • Bugfix: Fix handling of Mode_switch in i3-input
- • Bugfix: Close invisible workspaces when they become empty
- • Bugfix: Don’t invoke interactive resizing when clicking on the decoration
- of a split container with more than one child (switch focus instead)
- • Bugfix: Make named workspace assignments work again
- • Bugfix: RandR: Correctly keep focus on the focused workspace when an output
- disappears
- • Bugfix: Insert container at the correct position on workspace level when
- workspace_layout == default
-
-
- ┌────────────────────────────┐
- │ Thanks! │
- └────────────────────────────┘
-
-Thanks for testing, bugfixes, discussions and everything I forgot go out to:
-
- aksr, alexanderb, atsutane, bacardi55, bjonnh, brian, cls, don, donald,
- eeemsi, f8l, fernandotcl, isolnchip, julien, motif, mw, mxf, phnom, pl,
- pnutzh4x0r, raphael, sardemff7, stfn, thomasba, xeen
-
--- Michael Stapelberg, 2011-11-11
+++ /dev/null
-
- ┌──────────────────────────────┐
- │ Release notes for i3 v4.1.1 │
- └──────────────────────────────┘
-
-This is the first minor release of i3 v4.1. It is a bugfix release and
-considered stable. All users of i3 v4.1 are strongly encouraged to upgrade.
-
-Happy holidays and enjoy i3 :).
-
-i3 developers will be present at 28C3 in Berlin and FOSDEM 2012 in Brussels.
-Please get in touch and have a nice chat with us :).
-
-
- ┌────────────────────────────┐
- │ Changes in v4.1.1 │
- └────────────────────────────┘
-
- • Create a secure temp path instead of a predictable one
- • ipc: set CLOEXEC on client file descriptors
- • Fix prototype in include/xcursor.h
- • Bugfix: Skip dock clients when handling FocusIn events
- • Bugfix: Fix fullscreen with floating windows
- • Bugfix: Fix startup when RandR is not present
- • Bugfix: Retain window position and size when changing floating border
- • Bugfix: Disallow focusing dock clients via criteria
- • Bugfix: Don’t create a workspace named 'back_and_forth' on startup
- • Bugfix: Fix wrong focus in complex tabbed/stacked layouts
- • Bugfix: Fix resizing for (e.g.) v-split containers in h-split containers
- • Bugfix: Fix 'resize' command in nested containers
- • Bugfix: Don’t set the _NET_WM_WORKAREA hint at all
- • Bugfix: Skip leading whitespace in variable assignments
- • Bugfix: Make resizing of tiling windows with floating_modifier use absolute
- coordinates
- • Bugfix: Make resizing work when pressing floating_modifier + right mouse
- button on window decorations
- • Bugfix: Fix setting the same mark repeatedly on different windows
- • Bugfix: Disallow focusing other windows when in fullscreen mode
- • Bugfix: Ignore ConfigureRequests with out-of-bound coordinates
- • Bugfix: Correctly check boundaries and reassign floating windows when
- moving
- • Bugfix: Don’t close workspace when there are still floating windows on it
-
-
- ┌────────────────────────────┐
- │ Thanks! │
- └────────────────────────────┘
-
-Thanks for testing, bugfixes, discussions and everything I forgot go out to:
-
- aksr, ben, biiter, binzter, cg, cradle, f8l, gregkh, Han, Miguel, mseed,
- noxxun, Phlogistique
-
--- Michael Stapelberg, 2011-12-24
+++ /dev/null
-
- ┌──────────────────────────────┐
- │ Release notes for i3 v4.1.2 │
- └──────────────────────────────┘
-
-This is the second minor release of i3 v4.1. It is a bugfix release and
-considered stable. All users of i3 v4.1.1 are strongly encouraged to upgrade.
-
-i3 developers will be present at FOSDEM in Brussels.
-Please get in touch and have a nice chat with us :).
-
-
- ┌────────────────────────────┐
- │ Changes in v4.1.2 │
- └────────────────────────────┘
-
- • Bugfix: Don’t lose focus on fullscreen windows when another window gets
- moved to that workspace
- • Bugfix: Open new windows in the correct place when assignments match
- • Bugfix: Fix assignments of floating windows to (yet) unused workspaces
- • Bugfix: Either use SetInputFocus *or* send WM_TAKE_FOCUS, not both
- • Bugfix: Respect WM_HINTS.input for WM_TAKE_FOCUS clients
- • Bugfix: Setup the _NET_SUPPORTING_WM_CHECK atom in a standards-compliant way
- • Bugfix: Only ignore EnterNotify events after UnmapNotifies from managed windows
- • Bugfix: Force a new sequence number after UnmapNotify
- • Bugfix: Position floating windows exactly where their geometry specified
- • Bugfix: Fix coordinates when the rect of an output changes
-
- ┌────────────────────────────┐
- │ Thanks! │
- └────────────────────────────┘
-
-Thanks for testing, bugfixes, discussions and everything I forgot go out to:
-
- B-Con, David Coppa, Don, Paul, rami, zeus
-
--- Michael Stapelberg, 2012-01-27