diff --git a/woman/lib.py b/woman/lib.py index a5bfc0832ba516178aeed4d7f3d4a708ae688d5f..9416f2d4078456041430d2116ee4e9747c016d0d 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 055c3f773bf92220b3dafb37cdb890aa90ccaf9e..a96e5715e82e60ee6e35bc86975fa446fad4b595 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}")