diff --git a/RELEASE-NOTES-4.20 b/RELEASE-NOTES-4.20 deleted file mode 100644 index 4345a56bd..000000000 --- a/RELEASE-NOTES-4.20 +++ /dev/null @@ -1,93 +0,0 @@ - - ┌──────────────────────────────┐ - │ Release notes for i3 v4.20 │ - └──────────────────────────────┘ - -This is i3 v4.20. This version is considered stable. All users of i3 are -strongly encouraged to upgrade. - -Two long-awaited features have been added: - - 1. You can now use an “include” directive in your i3 config: - https://i3wm.org/docs/userguide.html#include - - 2. You can now enable showing window icons in window titlebars: - https://i3wm.org/docs/userguide.html#title_window_icon - -In case you notice any issues regarding your background/wallpaper, note: - - Some login managers (e.g. gdm) start the X11 server with the -background none - flag. When this flag is set, a background needs to be explicitly set later in - the X11 session, otherwise stale copies of closed windows remain visible on - the X11 root window (symptom looks like “my terminal window is not closing”). - - i3 works around this situation by setting a screenshot as background when - starting. Any background you set before starting i3 (e.g. in your Xsession) or - after starting i3 (e.g. via exec statements in the i3 config) will be visible. - - A downside of this workaround is that if you have any windows already open in - your X11 session, those will be part of the screenshot. - - To fix this issue, starting in v4.20, i3 detects whether the -background none - option is enabled and only then sets a screenshot as background. - - ┌────────────────────────────┐ - │ Changes in i3 v4.20 │ - └────────────────────────────┘ - - • default config: use dex for XDG autostart - • docs/ipc: document scratchpad_state - • ipc: the GET_CONFIG request now returns all included files and their details - • i3-nagbar: position on focused monitor by default - • i3-nagbar: add option to position on primary monitor - • i3bar: use first bar config by default - • i3-dmenu-desktop: ignore duplicate files and directories (fixes crash on NixOS) - • i3-dump-log -f now uses UNIX sockets instead of pthreads. The UNIX socket approach - should be more reliable and also more portable. - • When clicking on a tab, focus its child (like when scrolling), or (if - already focused), focus the tab container (alternatingly). - • Implement the include config directive: - https://i3wm.org/docs/userguide.html#include - • Implement optionally showing window icons in titlebar: - https://i3wm.org/docs/userguide.html#title_window_icon - • Allow for_window to match against WM_CLIENT_MACHINE - • Add %machine placeholder (WM_CLIENT_MACHINE) to title_format - • 'move container|workspace to output': toggle a workspace (or container) - between multiple outputs when multiple output names specified. - • Add 'move container|workspace to output next' - • Add 'all' window matching criterion - • Acquire the WM_Sn selection when starting as required by ICCCM - • Add --replace command line argument to replace an existing WM - • Notify systemd when i3 is ready, allowing other services in a systemd user session - to use i3 as a dependency - - ┌────────────────────────────┐ - │ Bugfixes │ - └────────────────────────────┘ - - • i3bar: properly close file descriptors - • i3bar: properly restart status command after config change - • i3bar: exit with 1 when a wrong command line argument is used - • ipc: return proper signed int for container positions: negative values were - returned as large 32 bits integers - • when initializing new outputs, avoid duplicating workspace numbers - • fix workspaces not moving to assigned output after output becomes available - • fix duplicate bindcode after i3-config-wizard - • fix commented-out rofi call in default i3 config - • clear pixmap before drawing to prevent visual garbage - • fix crash with "layout default" - • send an "output" event on XRandR 1.5 monitor configuration change - - ┌────────────────────────────┐ - │ Thanks! │ - └────────────────────────────┘ - -Thanks for testing, bugfixes, discussions and everything I forgot go out to: - - ajakk, Albert Safin, Anaël Beutot, Antoine Martin, Dmitri Goutnik, ekarpp, - Imran Virani, Ingo Bürk, Isaac Garzon, Ivan Milov, Jay Khandkar, j-jzk, Ken - Gilmer, Kjetil Torgrim Homme, lbonn, Michael Stapelberg, Orestis Floros, Ralph - Gutkowski, Romuald Brunet, tomty89, Tristan Giles, Tudor Brindus, Uli - Schlachter, Vincent Bernat, Vladimir Panteleev - --- Michael Stapelberg, 2021-10-19 diff --git a/RELEASE-NOTES-4.20.1 b/RELEASE-NOTES-4.20.1 new file mode 100644 index 000000000..62127460a --- /dev/null +++ b/RELEASE-NOTES-4.20.1 @@ -0,0 +1,27 @@ + + ┌──────────────────────────────┐ + │ Release notes for i3 v4.20.1 │ + └──────────────────────────────┘ + +This is i3 v4.20.1. This version is considered stable. All users of i3 are +strongly encouraged to upgrade. + + ┌────────────────────────────┐ + │ Bugfixes │ + └────────────────────────────┘ + + • i3bar: fix crash with multiple monitors + • xmlto: fix broken .TH line by extending title length + • i3-msg: fix --raw short form (-r) in manpage + • libi3: add missing sys/stat.h header + • use getcwd(NULL, 0) instead of GNU extension get_current_dir_name() + + ┌────────────────────────────┐ + │ Thanks! │ + └────────────────────────────┘ + +Thanks for testing, bugfixes, discussions and everything I forgot go out to: + + rvalieris, Jakob Haufe, lycurgus, Baptiste Daroussin + +-- Michael Stapelberg, 2021-11-03 diff --git a/i3bar/src/ipc.c b/i3bar/src/ipc.c index 0e12eafa7..06ddf9b5d 100644 --- a/i3bar/src/ipc.c +++ b/i3bar/src/ipc.c @@ -173,6 +173,9 @@ static bool strings_differ(char *a, char *b) { if (a_null != b_null) { return true; } + if (a_null && b_null) { + return false; + } return strcmp(a, b) != 0; } diff --git a/include/libi3.h b/include/libi3.h index d98fa1fe5..fd5fb03bb 100644 --- a/include/libi3.h +++ b/include/libi3.h @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include diff --git a/man/i3-msg.man b/man/i3-msg.man index 97013fa51..dfe1f89bc 100644 --- a/man/i3-msg.man +++ b/man/i3-msg.man @@ -36,7 +36,7 @@ Instead of exiting right after receiving the first subscribed event, wait indefinitely for all of them. Can only be used with "-t subscribe". See the "subscribe" IPC message type below for details. -*-q, --raw*:: +*-r, --raw*:: Display the raw JSON reply instead of pretty-printing errors (for commands) or displaying the top-level config file contents (for GET_CONFIG). diff --git a/meson.build b/meson.build index 5c3410da6..27fc9fb58 100644 --- a/meson.build +++ b/meson.build @@ -6,7 +6,7 @@ project( 'i3', 'c', - version: '4.20', + version: '4.20.1', default_options: [ 'c_std=c11', 'warning_level=1', # enable all warnings (-Wall) @@ -229,6 +229,8 @@ if get_option('mans') output: '@BASENAME@.1', command: [ xmlto, + '--stringparam', + 'man.th.title.max.length=30', 'man', '-o', '@OUTDIR@', diff --git a/release.sh b/release.sh index 134423734..2df88ab0d 100755 --- a/release.sh +++ b/release.sh @@ -3,8 +3,8 @@ set -eu -export RELEASE_VERSION="4.19" -export PREVIOUS_VERSION="4.18.3" +export RELEASE_VERSION="4.20" +export PREVIOUS_VERSION="4.19.2" export RELEASE_BRANCH="next" if [ ! -e "../i3.github.io" ] @@ -37,8 +37,8 @@ STARTDIR=$PWD TMPDIR=$(mktemp -d) cd $TMPDIR -if ! wget https://i3wm.org/downloads/i3-${PREVIOUS_VERSION}.tar.bz2; then - echo "Could not download i3-${PREVIOUS_VERSION}.tar.bz2 (required for comparing files)." +if ! wget https://i3wm.org/downloads/i3-${PREVIOUS_VERSION}.tar.xz; then + echo "Could not download i3-${PREVIOUS_VERSION}.tar.xz (required for comparing files)." exit 1 fi git clone --quiet --branch "${RELEASE_BRANCH}" https://github.com/i3/i3 @@ -100,6 +100,11 @@ git config --add remote.origin.push "+refs/heads/stable:refs/heads/stable" cd "${TMPDIR}" mkdir debian +# Copy over the changelog because we expect it to be locally modified in the +# start directory. +cp "${STARTDIR}/debian/changelog" i3/debian/changelog +(cd i3 && git add debian/changelog && git commit -m 'Update debian/changelog') + cat > ${TMPDIR}/Dockerfile <