diff --git a/src/main/python/macro_recorder.py b/src/main/python/macro_recorder.py index 6ca1136..feb7b80 100644 --- a/src/main/python/macro_recorder.py +++ b/src/main/python/macro_recorder.py @@ -32,8 +32,13 @@ class MacroRecorder(BasicEditor): return def on_record_clicked(self): - self.keystrokes = [] - self.recorder.start() + if not self.recording: + self.recording = True + self.keystrokes = [] + self.recorder.start() + else: + self.recording = False + self.recorder.stop() def on_stop(self): self.keystrokes = macro_optimize(self.keystrokes) diff --git a/src/main/python/macro_recorder_linux.py b/src/main/python/macro_recorder_linux.py index cf592c9..c0e4592 100644 --- a/src/main/python/macro_recorder_linux.py +++ b/src/main/python/macro_recorder_linux.py @@ -136,6 +136,9 @@ class LinuxRecorder(QWidget): self.process.start("pkexec", args, QProcess.Unbuffered | QProcess.ReadWrite) def on_stop(self): + self.stop() + + def stop(self): self.process.write(b"q") self.process.waitForFinished() self.process.close()