Bugfix: fix workspace back_and_forth after displaying a scratchpad

window (upstream git commit 81393c93c2810e098966fe4089f3c8ea09f9cbe6)
This commit is contained in:
dcoppa 2012-11-13 08:44:01 +00:00
parent 6580af1a4c
commit afcdf4a040
6 changed files with 36 additions and 17 deletions

View File

@ -1,9 +1,9 @@
# $OpenBSD: Makefile,v 1.51 2012/11/02 13:59:21 dcoppa Exp $
# $OpenBSD: Makefile,v 1.52 2012/11/13 08:44:01 dcoppa Exp $
COMMENT = improved dynamic tiling window manager
DISTNAME = i3-4.3
REVISION = 4
REVISION = 5
CATEGORIES = x11
EXTRACT_SUFX = .tar.bz2

View File

@ -1,10 +1,9 @@
$OpenBSD: patch-include_data_h,v 1.5 2012/11/02 13:59:21 dcoppa Exp $
$OpenBSD: patch-include_data_h,v 1.6 2012/11/13 08:44:02 dcoppa Exp $
From e7a4580c5f5f895df2990dae0f26a8662d58d80f Mon Sep 17 00:00:00 2001
From: Michael Stapelberg <michael@stapelberg.de>
Date: Mon, 29 Oct 2012 15:41:16 +0000
Subject: Bugfix: force rendering when the parent's orientation changed
Otherwise, the split indicator might not be refreshed even though
it should be.

View File

@ -1,10 +1,9 @@
$OpenBSD: patch-src_floating_c,v 1.14 2012/10/01 08:12:17 dcoppa Exp $
$OpenBSD: patch-src_floating_c,v 1.15 2012/11/13 08:44:02 dcoppa Exp $
From 8480b4cb58c30a5fa4ff9761aaed198efa8429f8 Mon Sep 17 00:00:00 2001
From: Michael Stapelberg <michael@stapelberg.de>
Date: Fri, 28 Sep 2012 16:23:01 +0000
Subject: Bugfix: don't crash when dragged floating window closes
Previously, while the loop would not be executed anymore, the
callback (for actually repositioning the window after a MotionNotify)
would still get called once. This commit avoids that, thus fixing

View File

@ -1,10 +1,9 @@
$OpenBSD: patch-src_manage_c,v 1.8 2012/09/27 10:57:46 dcoppa Exp $
$OpenBSD: patch-src_manage_c,v 1.9 2012/11/13 08:44:02 dcoppa Exp $
From a3f3d5670ca8ec0414805a4613a20d7b87b78630 Mon Sep 17 00:00:00 2001
From: Michael Stapelberg <michael@stapelberg.de>
Date: Thu, 27 Sep 2012 10:09:06 +0000
Subject: Bugfix: properly react to windows being unmapped before we can reparent
We need to verify that setting the event mask works, and we need
to include StructureNotify to get unmap events at any point in time.
@ -12,7 +11,6 @@ From 372d47842e7d71fde0a194761bf77dceed6e724c Mon Sep 17 00:00:00 2001
From: Michael Stapelberg <michael@stapelberg.de>
Date: Mon, 24 Sep 2012 21:57:58 +0000
Subject: Bugfix: Render workspaces created by assignments to use correct coordinates
Previously, i3 would send width=0, height=0 to windows which were
put on workspaces created by an assignment (that is, invisible
workspaces, which do not get rendered normally).

View File

@ -1,14 +1,18 @@
$OpenBSD: patch-src_workspace_c,v 1.8 2012/10/04 12:21:38 dcoppa Exp $
$OpenBSD: patch-src_workspace_c,v 1.9 2012/11/13 08:44:02 dcoppa Exp $
From 507898484f2d4ccf7e1077cf8881d4655745ac8c Mon Sep 17 00:00:00 2001
From: Sascha Kruse <knopwob@googlemail.com>
Date: Wed, 03 Oct 2012 01:52:57 +0000
Subject: set workspace_layout in create_workspace_on_output
Otherwise i3 doesn't respect the workspace_layout setting.
--- src/workspace.c.orig Thu Oct 4 11:52:49 2012
+++ src/workspace.c Thu Oct 4 11:57:33 2012
From 81393c93c2810e098966fe4089f3c8ea09f9cbe6 Mon Sep 17 00:00:00 2001
From: Michael Stapelberg <michael@stapelberg.de>
Date: Sat, 10 Nov 2012 08:01:04 +0000
Subject: bugfix: fix workspace back_and_forth after displaying a scratchpad window
--- src/workspace.c.orig Wed Sep 19 18:08:09 2012
+++ src/workspace.c Tue Nov 13 08:56:30 2012
@@ -212,6 +212,7 @@ Con *create_workspace_on_output(Output *output, Con *c
ws->fullscreen_mode = CF_OUTPUT;
@ -17,3 +21,25 @@ Otherwise i3 doesn't respect the workspace_layout setting.
_workspace_apply_default_orientation(ws);
return ws;
@@ -339,11 +340,16 @@ static void _workspace_show(Con *workspace) {
/* Remember currently focused workspace for switching back to it later with
* the 'workspace back_and_forth' command.
* NOTE: We have to duplicate the name as the original will be freed when
- * the corresponding workspace is cleaned up. */
-
- FREE(previous_workspace_name);
- if (current)
- previous_workspace_name = sstrdup(current->name);
+ * the corresponding workspace is cleaned up.
+ * NOTE: Internal cons such as __i3_scratch (when a scratchpad window is
+ * focused) are skipped, see bug #868. */
+ if (current && !(current->name[0] == '_' && current->name[1] == '_')) {
+ FREE(previous_workspace_name);
+ if (current) {
+ previous_workspace_name = sstrdup(current->name);
+ DLOG("Setting previous_workspace_name = %s\n", previous_workspace_name);
+ }
+ }
workspace_reassign_sticky(workspace);

View File

@ -1,20 +1,17 @@
$OpenBSD: patch-src_x_c,v 1.8 2012/11/02 13:59:21 dcoppa Exp $
$OpenBSD: patch-src_x_c,v 1.9 2012/11/13 08:44:02 dcoppa Exp $
From e7a4580c5f5f895df2990dae0f26a8662d58d80f Mon Sep 17 00:00:00 2001
From: Michael Stapelberg <michael@stapelberg.de>
Date: Mon, 29 Oct 2012 15:41:16 +0000
Subject: Bugfix: force rendering when the parent's orientation changed
Otherwise, the split indicator might not be refreshed even though
it should be.
From a082cf8c65225678af782187e4b6f3ba85a0701a Mon Sep 17 00:00:00 2001
From: Michael Stapelberg <michael@stapelberg.de>
Date: Fri, 28 Sep 2012 17:46:50 +0000
Subject: Bugfix: Draw h-split indicator at the right position
OpenBSD lacks POSIX shared memory support (shm_open() and friends)
--- src/x.c.orig Wed Sep 19 18:08:09 2012