Il 08 nov 2017 6:41 PM, "Daniel Jakots" <[email protected]> ha scritto:
Hi David (and ports@), Since 4.14.1, $mod+e is broken. It has been reported upstream multiple times: https://github.com/i3/i3/issues/2846 https://github.com/i3/i3/issues/3026 I tried to backport the first chunk (see the patch inline) but it was not enough, with the second chunk now it woks as before. Comments? OK? Sure, it's from upstream. Ok with me Cheers, Daniel Index: Makefile =================================================================== RCS file: /cvs/ports/x11/i3/Makefile,v retrieving revision 1.110 diff -u -p -r1.110 Makefile --- Makefile 21 Oct 2017 19:22:04 -0000 1.110 +++ Makefile 8 Nov 2017 17:39:45 -0000 @@ -3,7 +3,7 @@ COMMENT = improved dynamic tiling window manager DISTNAME = i3-4.14.1 -REVISION = 0 +REVISION = 1 CATEGORIES = x11 EXTRACT_SUFX = .tar.bz2 Index: patches/patch-src_con_c =================================================================== RCS file: patches/patch-src_con_c diff -N patches/patch-src_con_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_con_c 8 Nov 2017 17:39:45 -0000 @@ -0,0 +1,28 @@ +$OpenBSD$ + +backport https://github.com/i3/i3/pull/2849/commits/ c028f0cb173ebc4c7033c758c7f942adfbc224af +an https://github.com/i3/i3/pull/2849/commits/ 26014ca1a22c1b862c782f4dfa3d40a5ab629627 + +Index: src/con.c +--- src/con.c.orig ++++ src/con.c +@@ -1735,7 +1756,7 @@ void con_set_layout(Con *con, layout_t layout) { + con->workspace_layout = ws_layout; + DLOG("Setting layout to %d\n", layout); + con->layout = layout; +- } else if (layout == L_STACKED || layout == L_TABBED) { ++ } else if (layout == L_STACKED || layout == L_TABBED || layout == L_SPLITV || layout == L_SPLITH) { + DLOG("Creating new split container\n"); + /* 1: create a new split container */ + Con *new = con_new(NULL, NULL); +@@ -1827,6 +1848,10 @@ void con_toggle_layout(Con *con, const char *toggle_mo + * change to the opposite split layout. */ + if (parent->layout != L_SPLITH && parent->layout != L_SPLITV) { + layout = parent->last_split_layout; ++ /* In case last_split_layout was not initialized… */ ++ if (layout == L_DEFAULT) { ++ layout = L_SPLITH; ++ } + } else { + layout = (parent->layout == L_SPLITH) ? L_SPLITV : L_SPLITH; + }
