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)))