From 8b1fc1b9cd2a3ccf86eb7c98dd15c815df7c5a36 Mon Sep 17 00:00:00 2001
From: Jiri Kalvoda <jirikalvoda@kam.mff.cuni.cz>
Date: Mon, 29 Aug 2022 21:47:30 +0200
Subject: [PATCH] Shared: workspace_exist

---
 woman/lib.py    | 6 ++++--
 woman/shared.py | 4 ++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/woman/lib.py b/woman/lib.py
index a5bfc08..9416f2d 100644
--- a/woman/lib.py
+++ b/woman/lib.py
@@ -88,9 +88,11 @@ def swap_workspace(a_master, a_slave, b_master, b_slave):
 
     a = (a_master, a_slave)
     b = (b_master, b_slave)
-    if a_master not in shared.output_of_workspace or a_slave not in shared.output_of_workspace[a_master]:
+    if not shared.workspace_exist(*a):
+        if not shared.workspace_exist(*b):
+            return
         return rename_workspace(*b, *a)
-    if b_master not in shared.output_of_workspace or b_slave not in shared.output_of_workspace[b_master]:
+    if not shared.workspace_exist(*b):
         return rename_workspace(*a, *b)
     shared.i3_cmd(f'rename workspace {workspace(*a)} to tmp_swap')
     try:
diff --git a/woman/shared.py b/woman/shared.py
index 055c3f7..a96e571 100755
--- a/woman/shared.py
+++ b/woman/shared.py
@@ -65,8 +65,8 @@ class Shared:
         self.qt_local_queue.value = []
         self.i3.value = i3ipc.Connection()
 
-
-
+    def workspace_exist(self, master, slave):
+        return master in self.output_of_workspace and slave in self.output_of_workspace[master]
 
     def qt_task(self, *arg, otherwise=lambda: False):
         # print(f"QT TASK FROM {threading.current_thread()}: {arg}")
-- 
GitLab