From 7c3391c3a1b070b534b1ae6dbacd13145f5c5b73 Mon Sep 17 00:00:00 2001 From: wuuthradd Date: Fri, 13 Mar 2026 23:07:59 +0300 Subject: [PATCH] Fix: Keyboard input loss on Wayland after clipboard copy --- SpanshRouter/SpanshRouter.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/SpanshRouter/SpanshRouter.py b/SpanshRouter/SpanshRouter.py index 3d886d5..4be415e 100644 --- a/SpanshRouter/SpanshRouter.py +++ b/SpanshRouter/SpanshRouter.py @@ -375,11 +375,15 @@ class SpanshRouter(): logger.warning(''.join('!! ' + line for line in lines)) def copy_waypoint(self): - if sys.platform == "linux" or sys.platform == "linux2": + if sys.platform in ("linux", "linux2"): clipboard_cli = os.getenv("EDMC_SPANSH_ROUTER_XCLIP") or "xclip -selection c" clipboard_cli = clipboard_cli.split() - command = subprocess.Popen(["echo", "-n", self.next_stop], stdout=subprocess.PIPE) - subprocess.Popen(clipboard_cli, stdin=command.stdout) + subprocess.run( + clipboard_cli, + input=self.next_stop.encode(), + timeout=5, + check=False, + ) else: self.parent.clipboard_clear() self.parent.clipboard_append(self.next_stop)