From 65f8921671a9eae6c5852274568a34e4a318b66f Mon Sep 17 00:00:00 2001 From: Johan Johansson <96.bryal@gmail.com> Date: Wed, 28 Feb 2018 10:45:59 +0100 Subject: [PATCH] Fix EXWM buffers not being hidden on workspace switch When I switch workspaces, EXWM buffers are not correctly hidden, but stays visible and in the way of the buffers I actually want to use. I tracked it down to the `output-{new,old}` objects being equal component wise, but not reference wise in this `cond` clause. Using the less-strict component-wise equality test of `equal` fixed it for me. I see there are many uses of `eq` in the EXWM source in general. Maybe there are more bugs in here due to the use of too-strict equality tests with `eq`. Just a thing to consider. --- exwm-workspace.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exwm-workspace.el b/exwm-workspace.el index a0a8d0d..dd114c8 100644 --- a/exwm-workspace.el +++ b/exwm-workspace.el @@ -536,7 +536,7 @@ for internal use only." (cond ((not active-old) (exwm-workspace--set-active frame t)) - ((eq output-old output-new) + ((equal output-old output-new) (exwm-workspace--set-active old-frame nil) (exwm-workspace--set-active frame t) (setq workspaces-to-hide (list old-frame)))