Hello community, here is the log from the commit of package i3-gaps for openSUSE:Factory checked in at 2020-06-07 21:37:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/i3-gaps (Old) and /work/SRC/openSUSE:Factory/.i3-gaps.new.3606 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "i3-gaps" Sun Jun 7 21:37:08 2020 rev:10 rq:812067 version:4.18.1 Changes: -------- --- /work/SRC/openSUSE:Factory/i3-gaps/i3-gaps.changes 2020-03-09 14:17:56.586686932 +0100 +++ /work/SRC/openSUSE:Factory/.i3-gaps.new.3606/i3-gaps.changes 2020-06-07 21:37:47.993351492 +0200 @@ -1,0 +2,15 @@ +Fri Jun 5 01:17:18 UTC 2020 - Avindra Goolcharan <avin...@opensuse.org> + +- Update to version 4.18.1: + * Bugfixes + - Move parent nodes in scratchpad correctly + - i3bar: Call cont_child() more liberally + - Fix load_layout crash when floating node doesn't have + CT_FLOATING_CON parent + - Fix SEGFAULT when i3bar receives invalid input + - Revert "floating_reposition: avoid extra tree_render" + - Call tree_render if floating move changes workspace + - Update EWMH properties on workspace move + - cmd_focus_sibling: Fix crash on workspace level + +------------------------------------------------------------------- Old: ---- i3-gaps-4.18.tar.bz2 New: ---- i3-gaps-4.18.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ i3-gaps.spec ++++++ --- /var/tmp/diff_new_pack.ocEFSL/_old 2020-06-07 21:37:49.461356146 +0200 +++ /var/tmp/diff_new_pack.ocEFSL/_new 2020-06-07 21:37:49.465356159 +0200 @@ -17,7 +17,7 @@ Name: i3-gaps -Version: 4.18 +Version: 4.18.1 Release: 0 Summary: Tiling window manager License: BSD-3-Clause ++++++ i3-gaps-4.18.tar.bz2 -> i3-gaps-4.18.1.tar.bz2 ++++++ ++++ 4885 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/I3_VERSION new/i3-4.18.1/I3_VERSION --- old/i3-4.18/I3_VERSION 2020-02-18 08:30:51.000000000 +0100 +++ new/i3-4.18.1/I3_VERSION 2020-04-23 14:13:40.000000000 +0200 @@ -1 +1 @@ -4.18 (2020-02-18) +4.18.1 (2020-04-23) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/Makefile.am new/i3-4.18.1/Makefile.am --- old/i3-4.18/Makefile.am 2020-02-18 08:37:42.000000000 +0100 +++ new/i3-4.18.1/Makefile.am 2020-04-23 14:11:47.000000000 +0200 @@ -118,7 +118,7 @@ I3_VERSION \ LICENSE \ PACKAGE-MAINTAINER \ - RELEASE-NOTES-4.18 \ + RELEASE-NOTES-4.18.1 \ generate-command-parser.pl \ parser-specs/commands.spec \ parser-specs/config.spec \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/RELEASE-NOTES-4.18 new/i3-4.18.1/RELEASE-NOTES-4.18 --- old/i3-4.18/RELEASE-NOTES-4.18 2020-02-18 08:35:21.000000000 +0100 +++ new/i3-4.18.1/RELEASE-NOTES-4.18 1970-01-01 01:00:00.000000000 +0100 @@ -1,71 +0,0 @@ - - ┌────────────────────────────┐ - │ Release notes for i3 v4.18 │ - └────────────────────────────┘ - -This is i3 v4.18. This version is considered stable. All users of i3 are -strongly encouraged to upgrade. - - ┌────────────────────────────┐ - │ Changes in i3 v4.18 │ - └────────────────────────────┘ - - • docs/ipc: document fullscreen_mode in GET_TREE reply - • docs/ipc: document marks field in GET_TREE reply - • docs/ipc: document window_type in GET_TREE reply - • docs/ipc: improve documentation for window_properties - • docs/userguide: clarify commands/config directive wording - • layout saving: remanage window after property updates (e.g. titles) - • get_first_output: prefer primary output (e.g. when moving disabled outputs) - • ipc: add window_type to nodes - • ipc: add container id to nodes - • allow dragging active titles for all container types (e.g. floating+tabbed) - • allow dragging inactive titles after a 10px threshold - • make tray icon order deterministic (sorted by class/instance) - • implement focus next|prev - • implement focus next|prev sibling - • implement focus_wrapping workspace - • exit with exit code 0 on --help - • exec command: respect command criteria - - ┌────────────────────────────┐ - │ Bugfixes │ - └────────────────────────────┘ - - • build: fix lcov support - • build: use AC_REPLACE_FUNCS, drop bundled memmem - • build: fix building with -fno-common (for gcc 10) - • build: configure: deal with git worktree checkouts, where .git is a file - • docs/userguide: fix link to pango markup - • docs/userguide: add missing manipulating_layout anchor - • docs/userguide: fix IPC socket location - • i3-nagbar: make debug log visible - • i3-nagbar: fix small memory leaks - • i3bar: fix small memory leaks - • move workspace to output: don’t create duplicate numbered workspace - • correctly select output when pointer query fails - • fix moving windows to scratchpad when using marks - • fix startup workspace selection when workspace command uses options - • do not try to center floating window on itself (fixes xterm placement) - • fix “move window to <mark>” when target is a workspace - • correctly activate windows behind a fullscreen window - • fix back-and-forth after renaming workspaces - • keep focus when moving container to marked workspace - • do not show scratchpad windows upon move to position command - • reparent windows to their current position when unmanaging - (fixes dock clients unexpectedly moving to different output) - • fix crash when moving containers - • scratchpad_move: un-fullscreen correct container - • avoid crash when nc->window is NULL - - ┌────────────────────────────┐ - │ Thanks! │ - └────────────────────────────┘ - -Thanks for testing, bugfixes, discussions and everything I forgot go out to: - - acheronfail, Albert Safin, Antoine, Benjamin Dopplinger, Brian Ashworth, - Damien Cassou, Daniele Varrazzo, David Shen, Erwin J. van Eijk, Ingo Bürk, - Iskustvo, izzel, Konst Mayer, Orestis Floros, Yury Ignatev - --- Michael Stapelberg, 2020-02-17 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/RELEASE-NOTES-4.18.1 new/i3-4.18.1/RELEASE-NOTES-4.18.1 --- old/i3-4.18/RELEASE-NOTES-4.18.1 1970-01-01 01:00:00.000000000 +0100 +++ new/i3-4.18.1/RELEASE-NOTES-4.18.1 2020-04-23 14:11:47.000000000 +0200 @@ -0,0 +1,32 @@ + + ┌──────────────────────────────┐ + │ Release notes for i3 v4.18.1 │ + └──────────────────────────────┘ + +This is i3 v4.18.1. This version is considered stable. All users of i3 are +strongly encouraged to upgrade. + +This is a bugfix release for v4.18. + + ┌────────────────────────────┐ + │ Bugfixes │ + └────────────────────────────┘ + + • Move parent nodes in scratchpad correctly + • i3bar: Call cont_child() more liberally + • Fix load_layout crash when floating node doesn't have CT_FLOATING_CON parent + • Fix SEGFAULT when i3bar receives invalid input + • Revert "floating_reposition: avoid extra tree_render" + • Call tree_render if floating move changes workspace + • Update EWMH properties on workspace move + • cmd_focus_sibling: Fix crash on workspace level + + ┌────────────────────────────┐ + │ Thanks! │ + └────────────────────────────┘ + +Thanks for testing, bugfixes, discussions and everything I forgot go out to: + + Heman Gandhi, Orestis Floros + +-- Michael Stapelberg, 2020-04-22 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/ar-lib new/i3-4.18.1/ar-lib --- old/i3-4.18/ar-lib 2020-02-18 08:38:06.000000000 +0100 +++ new/i3-4.18.1/ar-lib 2020-04-23 14:14:25.000000000 +0200 @@ -2,9 +2,9 @@ # Wrapper for Microsoft lib.exe me=ar-lib -scriptversion=2012-03-01.08; # UTC +scriptversion=2019-07-04.01; # UTC -# Copyright (C) 2010-2018 Free Software Foundation, Inc. +# Copyright (C) 2010-2020 Free Software Foundation, Inc. # Written by Peter Rosin <p...@lysator.liu.se>. # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -65,7 +65,7 @@ mingw) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin) + cygwin | msys) file=`cygpath -m "$file" || echo "$file"` ;; wine) @@ -224,10 +224,11 @@ esac done else - $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member - do - $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? - done + $AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \ + | while read member + do + $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? + done fi elif test -n "$quick$replace"; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/compile new/i3-4.18.1/compile --- old/i3-4.18/compile 2020-02-18 08:38:06.000000000 +0100 +++ new/i3-4.18.1/compile 2020-04-23 14:14:25.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/configure.ac new/i3-4.18.1/configure.ac --- old/i3-4.18/configure.ac 2020-02-18 08:30:30.000000000 +0100 +++ new/i3-4.18.1/configure.ac 2020-04-23 14:11:47.000000000 +0200 @@ -2,7 +2,7 @@ # Run autoreconf -fi to generate a configure script from this file. AC_PREREQ([2.69]) -AC_INIT([i3], [4.18], [https://github.com/i3/i3/issues]) +AC_INIT([i3], [4.18.1], [https://github.com/i3/i3/issues]) # For AX_EXTEND_SRCDIR AX_ENABLE_BUILDDIR AM_INIT_AUTOMAKE([foreign subdir-objects -Wall no-dist-gzip dist-bzip2]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/docs/debugging.html new/i3-4.18.1/docs/debugging.html --- old/i3-4.18/docs/debugging.html 2020-02-18 08:38:33.000000000 +0100 +++ new/i3-4.18.1/docs/debugging.html 2020-04-23 14:15:13.000000000 +0200 @@ -957,7 +957,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-11-04 15:27:11 CET + 2019-08-28 08:56:31 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/docs/hacking-howto.html new/i3-4.18.1/docs/hacking-howto.html --- old/i3-4.18/docs/hacking-howto.html 2020-02-18 08:38:36.000000000 +0100 +++ new/i3-4.18.1/docs/hacking-howto.html 2020-04-23 14:15:15.000000000 +0200 @@ -2381,7 +2381,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2017-09-24 20:40:44 CEST + 2017-10-25 08:56:58 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/docs/i3bar-protocol.html new/i3-4.18.1/docs/i3bar-protocol.html --- old/i3-4.18/docs/i3bar-protocol.html 2020-02-18 08:38:34.000000000 +0100 +++ new/i3-4.18.1/docs/i3bar-protocol.html 2020-04-23 14:15:13.000000000 +0200 @@ -1209,7 +1209,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-02-18 08:27:01 CET + 2020-04-22 08:53:23 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/docs/ipc.html new/i3-4.18.1/docs/ipc.html --- old/i3-4.18/docs/ipc.html 2020-02-18 08:38:36.000000000 +0100 +++ new/i3-4.18.1/docs/ipc.html 2020-04-23 14:15:15.000000000 +0200 @@ -2677,7 +2677,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-02-18 08:27:01 CET + 2020-04-22 08:53:23 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/docs/layout-saving.html new/i3-4.18.1/docs/layout-saving.html --- old/i3-4.18/docs/layout-saving.html 2020-02-18 08:38:34.000000000 +0100 +++ new/i3-4.18.1/docs/layout-saving.html 2020-04-23 14:15:13.000000000 +0200 @@ -1016,7 +1016,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-02-18 08:27:01 CET + 2020-04-22 08:53:23 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/docs/multi-monitor.html new/i3-4.18.1/docs/multi-monitor.html --- old/i3-4.18/docs/multi-monitor.html 2020-02-18 08:38:32.000000000 +0100 +++ new/i3-4.18.1/docs/multi-monitor.html 2020-04-23 14:15:12.000000000 +0200 @@ -816,7 +816,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2016-01-09 06:46:50 CET + 2017-03-28 14:05:54 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/docs/testsuite.html new/i3-4.18.1/docs/testsuite.html --- old/i3-4.18/docs/testsuite.html 2020-02-18 08:38:34.000000000 +0100 +++ new/i3-4.18.1/docs/testsuite.html 2020-04-23 14:15:14.000000000 +0200 @@ -1434,7 +1434,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2018-03-10 18:49:00 CET + 2018-03-13 08:53:27 CET </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/docs/userguide.html new/i3-4.18.1/docs/userguide.html --- old/i3-4.18/docs/userguide.html 2020-02-18 08:38:39.000000000 +0100 +++ new/i3-4.18.1/docs/userguide.html 2020-04-23 14:15:17.000000000 +0200 @@ -3960,7 +3960,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-02-18 08:27:01 CET + 2020-04-23 14:10:46 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/docs/wsbar.html new/i3-4.18.1/docs/wsbar.html --- old/i3-4.18/docs/wsbar.html 2020-02-18 08:38:33.000000000 +0100 +++ new/i3-4.18.1/docs/wsbar.html 2020-04-23 14:15:13.000000000 +0200 @@ -844,7 +844,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2017-09-24 20:40:44 CEST + 2017-10-25 08:56:58 CEST </div> </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/i3bar/src/child.c new/i3-4.18.1/i3bar/src/child.c --- old/i3-4.18/i3bar/src/child.c 2019-08-04 09:40:48.000000000 +0200 +++ new/i3-4.18.1/i3bar/src/child.c 2020-04-23 14:11:47.000000000 +0200 @@ -194,6 +194,11 @@ static int stdin_boolean(void *context, int val) { parser_ctx *ctx = context; + + if (!ctx->last_map_key) { + return 0; + } + if (strcasecmp(ctx->last_map_key, "urgent") == 0) { ctx->block.urgent = val; return 1; @@ -208,6 +213,11 @@ static int stdin_string(void *context, const unsigned char *val, size_t len) { parser_ctx *ctx = context; + + if (!ctx->last_map_key) { + return 0; + } + if (strcasecmp(ctx->last_map_key, "full_text") == 0) { ctx->block.full_text = i3string_from_markup_with_length((const char *)val, len); return 1; @@ -260,6 +270,11 @@ static int stdin_integer(void *context, long long val) { parser_ctx *ctx = context; + + if (!ctx->last_map_key) { + return 0; + } + if (strcasecmp(ctx->last_map_key, "min_width") == 0) { ctx->block.min_width = (uint32_t)val; return 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/i3bar/src/xcb.c new/i3-4.18.1/i3bar/src/xcb.c --- old/i3-4.18/i3bar/src/xcb.c 2020-02-18 08:27:01.000000000 +0100 +++ new/i3-4.18.1/i3bar/src/xcb.c 2020-04-23 14:11:47.000000000 +0200 @@ -677,9 +677,6 @@ continue; } if (output->bar.id == event->window) { - if (output->visible == visible) { - return; - } output->visible = visible; } num_visible += output->visible; @@ -687,10 +684,7 @@ if (num_visible == 0) { stop_child(); - } else if (num_visible == visible) { - /* Wake the child only when transitioning from 0 to 1 visible bar. - * We cannot transition from 0 to 2 or more visible bars at once since - * visibility events are delivered to each window separately */ + } else { cont_child(); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3-config-wizard.1 new/i3-4.18.1/man/i3-config-wizard.1 --- old/i3-4.18/man/i3-config-wizard.1 2020-02-18 08:38:38.000000000 +0100 +++ new/i3-4.18.1/man/i3-config-wizard.1 2020-04-23 14:15:15.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: i3-config-wizard .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 02/18/2020 +.\" Date: 04/23/2020 .\" Manual: i3 Manual -.\" Source: i3 4.18 +.\" Source: i3 4.18.1 .\" Language: English .\" -.TH "I3\-CONFIG\-WIZARD" "1" "02/18/2020" "i3 4\&.18" "i3 Manual" +.TH "I3\-CONFIG\-WIZARD" "1" "04/23/2020" "i3 4\&.18\&.1" "i3 Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3-dmenu-desktop.1 new/i3-4.18.1/man/i3-dmenu-desktop.1 --- old/i3-4.18/man/i3-dmenu-desktop.1 2020-02-18 08:38:36.000000000 +0100 +++ new/i3-4.18.1/man/i3-dmenu-desktop.1 2020-04-23 14:15:12.000000000 +0200 @@ -71,7 +71,7 @@ .\" ======================================================================== .\" .IX Title "I3-DMENU-DESKTOP 1" -.TH I3-DMENU-DESKTOP 1 "2017-09-24" "perl v5.30.1" "User Contributed Perl Documentation" +.TH I3-DMENU-DESKTOP 1 "2020-04-23" "perl v5.30.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3-dump-log.1 new/i3-4.18.1/man/i3-dump-log.1 --- old/i3-4.18/man/i3-dump-log.1 2020-02-18 08:38:38.000000000 +0100 +++ new/i3-4.18.1/man/i3-dump-log.1 2020-04-23 14:15:16.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: i3-dump-log .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 02/18/2020 +.\" Date: 04/23/2020 .\" Manual: i3 Manual -.\" Source: i3 4.18 +.\" Source: i3 4.18.1 .\" Language: English .\" -.TH "I3\-DUMP\-LOG" "1" "02/18/2020" "i3 4\&.18" "i3 Manual" +.TH "I3\-DUMP\-LOG" "1" "04/23/2020" "i3 4\&.18\&.1" "i3 Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3-input.1 new/i3-4.18.1/man/i3-input.1 --- old/i3-4.18/man/i3-input.1 2020-02-18 08:38:38.000000000 +0100 +++ new/i3-4.18.1/man/i3-input.1 2020-04-23 14:15:15.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: i3-input .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 02/18/2020 +.\" Date: 04/23/2020 .\" Manual: i3 Manual -.\" Source: i3 4.18 +.\" Source: i3 4.18.1 .\" Language: English .\" -.TH "I3\-INPUT" "1" "02/18/2020" "i3 4\&.18" "i3 Manual" +.TH "I3\-INPUT" "1" "04/23/2020" "i3 4\&.18\&.1" "i3 Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3-migrate-config-to-v4.1 new/i3-4.18.1/man/i3-migrate-config-to-v4.1 --- old/i3-4.18/man/i3-migrate-config-to-v4.1 2020-02-18 08:38:38.000000000 +0100 +++ new/i3-4.18.1/man/i3-migrate-config-to-v4.1 2020-04-23 14:15:15.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: i3-migrate-config-to-v4 .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 02/18/2020 +.\" Date: 04/23/2020 .\" Manual: i3 Manual -.\" Source: i3 4.18 +.\" Source: i3 4.18.1 .\" Language: English .\" -.TH "I3\-MIGRATE\-CONFIG\" "1" "02/18/2020" "i3 4\&.18" "i3 Manual" +.TH "I3\-MIGRATE\-CONFIG\" "1" "04/23/2020" "i3 4\&.18\&.1" "i3 Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3-msg.1 new/i3-4.18.1/man/i3-msg.1 --- old/i3-4.18/man/i3-msg.1 2020-02-18 08:38:38.000000000 +0100 +++ new/i3-4.18.1/man/i3-msg.1 2020-04-23 14:15:14.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: i3-msg .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 02/18/2020 +.\" Date: 04/23/2020 .\" Manual: i3 Manual -.\" Source: i3 4.18 +.\" Source: i3 4.18.1 .\" Language: English .\" -.TH "I3\-MSG" "1" "02/18/2020" "i3 4\&.18" "i3 Manual" +.TH "I3\-MSG" "1" "04/23/2020" "i3 4\&.18\&.1" "i3 Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3-nagbar.1 new/i3-4.18.1/man/i3-nagbar.1 --- old/i3-4.18/man/i3-nagbar.1 2020-02-18 08:38:38.000000000 +0100 +++ new/i3-4.18.1/man/i3-nagbar.1 2020-04-23 14:15:15.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: i3-nagbar .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 02/18/2020 +.\" Date: 04/23/2020 .\" Manual: i3 Manual -.\" Source: i3 4.18 +.\" Source: i3 4.18.1 .\" Language: English .\" -.TH "I3\-NAGBAR" "1" "02/18/2020" "i3 4\&.18" "i3 Manual" +.TH "I3\-NAGBAR" "1" "04/23/2020" "i3 4\&.18\&.1" "i3 Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3-save-tree.1 new/i3-4.18.1/man/i3-save-tree.1 --- old/i3-4.18/man/i3-save-tree.1 2020-02-18 08:38:36.000000000 +0100 +++ new/i3-4.18.1/man/i3-save-tree.1 2020-04-23 14:15:12.000000000 +0200 @@ -71,7 +71,7 @@ .\" ======================================================================== .\" .IX Title "I3-SAVE-TREE 1" -.TH I3-SAVE-TREE 1 "2018-11-04" "perl v5.30.1" "User Contributed Perl Documentation" +.TH I3-SAVE-TREE 1 "2019-08-28" "perl v5.30.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3-sensible-editor.1 new/i3-4.18.1/man/i3-sensible-editor.1 --- old/i3-4.18/man/i3-sensible-editor.1 2020-02-18 08:38:38.000000000 +0100 +++ new/i3-4.18.1/man/i3-sensible-editor.1 2020-04-23 14:15:15.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: i3-sensible-editor .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 02/18/2020 +.\" Date: 04/23/2020 .\" Manual: i3 Manual -.\" Source: i3 4.18 +.\" Source: i3 4.18.1 .\" Language: English .\" -.TH "I3\-SENSIBLE\-EDITOR" "1" "02/18/2020" "i3 4\&.18" "i3 Manual" +.TH "I3\-SENSIBLE\-EDITOR" "1" "04/23/2020" "i3 4\&.18\&.1" "i3 Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3-sensible-pager.1 new/i3-4.18.1/man/i3-sensible-pager.1 --- old/i3-4.18/man/i3-sensible-pager.1 2020-02-18 08:38:38.000000000 +0100 +++ new/i3-4.18.1/man/i3-sensible-pager.1 2020-04-23 14:15:15.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: i3-sensible-pager .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 02/18/2020 +.\" Date: 04/23/2020 .\" Manual: i3 Manual -.\" Source: i3 4.18 +.\" Source: i3 4.18.1 .\" Language: English .\" -.TH "I3\-SENSIBLE\-PAGER" "1" "02/18/2020" "i3 4\&.18" "i3 Manual" +.TH "I3\-SENSIBLE\-PAGER" "1" "04/23/2020" "i3 4\&.18\&.1" "i3 Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3-sensible-terminal.1 new/i3-4.18.1/man/i3-sensible-terminal.1 --- old/i3-4.18/man/i3-sensible-terminal.1 2020-02-18 08:38:38.000000000 +0100 +++ new/i3-4.18.1/man/i3-sensible-terminal.1 2020-04-23 14:15:16.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: i3-sensible-terminal .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 02/18/2020 +.\" Date: 04/23/2020 .\" Manual: i3 Manual -.\" Source: i3 4.18 +.\" Source: i3 4.18.1 .\" Language: English .\" -.TH "I3\-SENSIBLE\-TERMIN" "1" "02/18/2020" "i3 4\&.18" "i3 Manual" +.TH "I3\-SENSIBLE\-TERMIN" "1" "04/23/2020" "i3 4\&.18\&.1" "i3 Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3.1 new/i3-4.18.1/man/i3.1 --- old/i3-4.18/man/i3.1 2020-02-18 08:38:38.000000000 +0100 +++ new/i3-4.18.1/man/i3.1 2020-04-23 14:15:14.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: i3 .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 02/18/2020 +.\" Date: 04/23/2020 .\" Manual: i3 Manual -.\" Source: i3 4.18 +.\" Source: i3 4.18.1 .\" Language: English .\" -.TH "I3" "1" "02/18/2020" "i3 4\&.18" "i3 Manual" +.TH "I3" "1" "04/23/2020" "i3 4\&.18\&.1" "i3 Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/man/i3bar.1 new/i3-4.18.1/man/i3bar.1 --- old/i3-4.18/man/i3bar.1 2020-02-18 08:38:37.000000000 +0100 +++ new/i3-4.18.1/man/i3bar.1 2020-04-23 14:15:14.000000000 +0200 @@ -2,12 +2,12 @@ .\" Title: i3bar .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 02/18/2020 +.\" Date: 04/23/2020 .\" Manual: i3 Manual -.\" Source: i3 4.18 +.\" Source: i3 4.18.1 .\" Language: English .\" -.TH "I3BAR" "1" "02/18/2020" "i3 4\&.18" "i3 Manual" +.TH "I3BAR" "1" "04/23/2020" "i3 4\&.18\&.1" "i3 Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/missing new/i3-4.18.1/missing --- old/i3-4.18/missing 2020-02-18 08:38:06.000000000 +0100 +++ new/i3-4.18.1/missing 2020-04-23 14:14:25.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/src/commands.c new/i3-4.18.1/src/commands.c --- old/i3-4.18/src/commands.c 2020-02-18 08:27:01.000000000 +0100 +++ new/i3-4.18.1/src/commands.c 2020-04-23 14:11:47.000000000 +0200 @@ -1299,7 +1299,16 @@ } Con *next = get_tree_next_sibling(current->con, direction); if (next) { - con_activate(next); + if (next->type == CT_WORKSPACE) { + /* On the workspace level, we need to make sure that the + * workspace change happens properly. However, workspace_show + * descends focus so we also have to put focus on the workspace + * itself to maintain consistency. See #3997. */ + workspace_show(next); + con_focus(next); + } else { + con_activate(next); + } } } @@ -1517,7 +1526,7 @@ break; } - floating_reposition(current->con->parent, newrect); + cmd_output->needs_tree_render = floating_reposition(current->con->parent, newrect); } else { tree_move(current->con, direction); cmd_output->needs_tree_render = true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/src/floating.c new/i3-4.18.1/src/floating.c --- old/i3-4.18/src/floating.c 2020-02-18 08:27:01.000000000 +0100 +++ new/i3-4.18.1/src/floating.c 2020-04-23 14:11:47.000000000 +0200 @@ -745,16 +745,13 @@ con->rect = newrect; - bool reassigned = floating_maybe_reassign_ws(con); + floating_maybe_reassign_ws(con); /* If this is a scratchpad window, don't auto center it from now on. */ if (con->scratchpad_state == SCRATCHPAD_FRESH) con->scratchpad_state = SCRATCHPAD_CHANGED; - /* Workspace change will already result in a tree_render. */ - if (!reassigned) { - tree_render(); - } + tree_render(); return true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/src/load_layout.c new/i3-4.18.1/src/load_layout.c --- old/i3-4.18/src/load_layout.c 2020-02-18 08:27:01.000000000 +0100 +++ new/i3-4.18.1/src/load_layout.c 2020-04-23 14:11:47.000000000 +0200 @@ -171,6 +171,19 @@ con_attach(json_node, json_node->parent, true); LOG("Creating window\n"); x_con_init(json_node); + + /* Fix erroneous JSON input regarding floating containers to avoid + * crashing, see #3901. */ + const int old_floating_mode = json_node->floating; + if (old_floating_mode >= FLOATING_AUTO_ON && json_node->parent->type != CT_FLOATING_CON) { + LOG("Fixing floating node without CT_FLOATING_CON parent\n"); + + /* Force floating_enable to work */ + json_node->floating = FLOATING_AUTO_OFF; + floating_enable(json_node, false); + json_node->floating = old_floating_mode; + } + json_node = json_node->parent; incomplete--; DLOG("incomplete = %d\n", incomplete); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/src/scratchpad.c new/i3-4.18.1/src/scratchpad.c --- old/i3-4.18/src/scratchpad.c 2020-02-18 08:27:01.000000000 +0100 +++ new/i3-4.18.1/src/scratchpad.c 2020-04-23 14:11:47.000000000 +0200 @@ -138,7 +138,7 @@ floating->scratchpad_state != SCRATCHPAD_NONE) { DLOG("Found a visible scratchpad window on another workspace,\n"); DLOG("moving it to this workspace: con = %p\n", walk_con); - con_move_to_workspace(walk_con, focused_ws, true, false, false); + con_move_to_workspace(floating, focused_ws, true, false, false); con_activate(con_descend_focused(walk_con)); return true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/src/workspace.c new/i3-4.18.1/src/workspace.c --- old/i3-4.18/src/workspace.c 2020-02-18 08:27:01.000000000 +0100 +++ new/i3-4.18.1/src/workspace.c 2020-04-23 14:11:47.000000000 +0200 @@ -1069,6 +1069,8 @@ workspace_show(ws); } + ewmh_update_desktop_properties(); + if (!previously_visible_ws) { return; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/test-driver new/i3-4.18.1/test-driver --- old/i3-4.18/test-driver 2020-02-18 08:38:06.000000000 +0100 +++ new/i3-4.18.1/test-driver 2020-04-23 14:14:25.000000000 +0200 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2011-2018 Free Software Foundation, Inc. +# Copyright (C) 2011-2020 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/testcases/t/185-scratchpad.t new/i3-4.18.1/testcases/t/185-scratchpad.t --- old/i3-4.18/testcases/t/185-scratchpad.t 2020-02-18 08:27:01.000000000 +0100 +++ new/i3-4.18.1/testcases/t/185-scratchpad.t 2020-04-23 14:11:47.000000000 +0200 @@ -548,5 +548,31 @@ cmd '[id=' . $first->id . '] move position center'; is ($x->input_focus, $second->id, 'centering scratchpad window does not show it'); +################################################################################### +# Verify that a scratchpad container with child containers that was open in +# another workspace is moved to the current workspace (with all its children) +# after a scratchpad show. +################################################################################ + +kill_all_windows; +open_window; +open_window; +# This is to dodge the edge case were the whole workspace is moved +# window-by-window into the scratchpad. +cmd 'layout tabbed'; +cmd 'focus parent'; +cmd 'move to scratchpad'; +$ws = fresh_workspace; +cmd 'scratchpad show'; +# Case 1: a parent node in the scratchpad does not lose children +# Note on the layout: there should be a floating tabbed container, which is +# represented as follows: +# [workspace object] -> [floating_nodes] -> [tabbed node container] -> [the 2 children we expect] +is(scalar @{get_ws($ws)->{floating_nodes}->[0]->{nodes}->[0]->{nodes}}, 2, 'both windows moved from scratchpad to this workspace'); + +# Case 2: a parent node in the scratchpad from another workspace does not lose children +$ws = fresh_workspace; +cmd 'scratchpad show'; +is(scalar @{get_ws($ws)->{floating_nodes}->[0]->{nodes}->[0]->{nodes}}, 2, 'both windows moved from scratchpad focused on other workspace to this workspace'); done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/testcases/t/215-layout-restore-crash.t new/i3-4.18.1/testcases/t/215-layout-restore-crash.t --- old/i3-4.18/testcases/t/215-layout-restore-crash.t 2017-09-24 20:40:44.000000000 +0200 +++ new/i3-4.18.1/testcases/t/215-layout-restore-crash.t 2020-04-23 14:11:47.000000000 +0200 @@ -212,7 +212,7 @@ EOT $fh->flush; $reply = cmd "append_layout $filename"; - ok(!$reply->[0]->{success}, 'IPC reply indicated success'); + ok(!$reply->[0]->{success}, 'IPC reply did not indicate success'); does_i3_live; @@ -276,5 +276,49 @@ close($fh); +################################################################################ +# Issue with floating key being set, without proper parent +# See #3901 +################################################################################ +subtest 'issue 3901' => sub { + kill_all_windows; + $ws = fresh_workspace; + is(scalar @{get_ws($ws)->{floating_nodes}}, 0, 'No floating nodes yet'); + + ($fh, $filename) = tempfile(UNLINK => 1); + print $fh <<'EOT'; +// vim:ts=4:sw=4:et +{ + "border": "pixel", + "current_border_width": 1, + "floating": "auto_on", // crashes: user_on, auto_on, no crash: user_off, auto_off + "geometry": { + "height": 400, + "width": 300, + "x": 820, + "y": 350 + }, + "name": "Click me to crash", + "percent": 0.5, // still crashes if this field is absent + "swallows": [ + { + "class": "^this doesn't matter as long as it doesn't match a new window$" + } + ], + "type": "con" +} + +EOT + $fh->flush; + $reply = cmd "append_layout $filename"; + ok($reply->[0]->{success}, 'IPC reply indicated success'); + + cmd '[floating] focus'; + is(scalar @{get_ws($ws)->{floating_nodes}}, 1, 'one floating node on this ws'); + + does_i3_live; + + close($fh); +}; done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/testcases/t/307-focus-next-prev.t new/i3-4.18.1/testcases/t/307-focus-next-prev.t --- old/i3-4.18/testcases/t/307-focus-next-prev.t 2020-02-18 08:27:01.000000000 +0100 +++ new/i3-4.18.1/testcases/t/307-focus-next-prev.t 2020-04-23 14:11:47.000000000 +0200 @@ -69,4 +69,16 @@ cmd 'focus parent, focus next sibling'; }); +# See #3997 +cmd 'workspace 2'; +open_window; +cmd 'workspace 1'; +open_window; +cmd 'focus parent, focus parent, focus next sibling, focus prev sibling'; +does_i3_live; +is(focused_ws, '1', 'Back and forth between workspaces'); + +cmd 'focus parent, focus parent, focus next sibling'; +is(focused_ws, '2', "Workspace 2 focused with 'focus next sibling'"); + done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/i3-4.18/testcases/t/521-ewmh-desktop-viewport.t new/i3-4.18.1/testcases/t/521-ewmh-desktop-viewport.t --- old/i3-4.18/testcases/t/521-ewmh-desktop-viewport.t 2017-09-24 20:40:44.000000000 +0200 +++ new/i3-4.18.1/testcases/t/521-ewmh-desktop-viewport.t 2020-04-23 14:11:47.000000000 +0200 @@ -50,7 +50,10 @@ return unpack ("L$len", $reply->{value}); } -# initialize the workspaces +################################################################################ +# Initialize the workspaces +################################################################################ + cmd 'workspace 1'; cmd 'workspace 0'; @@ -60,6 +63,10 @@ is_deeply(\@desktop_viewport, \@expected_viewport, '_NET_DESKTOP_VIEWPORT should be an array of x/y coordinate pairs for the upper left corner of the respective outputs of the workspaces'); +################################################################################ +# Create workspace +################################################################################ + cmd 'workspace 0'; open_window; cmd 'workspace 3'; @@ -70,6 +77,10 @@ is_deeply(\@desktop_viewport, \@expected_viewport, 'it should be updated when a new workspace appears'); +################################################################################ +# Rename workspace +################################################################################ + cmd 'rename workspace 3 to 2'; @expected_viewport = (0, 0, 0, 0, 1024, 0); @@ -78,6 +89,10 @@ is_deeply(\@desktop_viewport, \@expected_viewport, 'it should stay up to date when a workspace is renamed'); +################################################################################ +# Empty workspace +################################################################################ + cmd 'workspace 0'; @expected_viewport = (0, 0, 1024, 0); @@ -86,4 +101,20 @@ is_deeply(\@desktop_viewport, \@expected_viewport, 'it should be updated when a workspace is emptied'); +################################################################################ +# Move workspace +# See #4001 +################################################################################ + +# Keep workspace 1 open to have 3 workspaces in total +cmd 'workspace 1'; +open_window; +cmd 'workspace 0, move workspace to output right'; +@expected_viewport = (0, 0, 1024, 0, 1024, 0); +@desktop_viewport = get_desktop_viewport; +is_deeply(\@desktop_viewport, \@expected_viewport, + 'it should be updated when a workspace is moved'); + +################################################################################ + done_testing;