diff --git a/README.md b/README.md index 69deb4e..dd5410c 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ The supported configuration settings are: "pen_size": 10, // set to 0 to disable "pen_color": "red", "fetch_frame_delay": 0.03 // sleep 0.03s on remarkable before fetching new frame (default is no delay) + "lz4_path_on_remarkable": "/usr/opt/lz4" // default: $HOME/lz4 } ``` diff --git a/src/rmview.py b/src/rmview.py index eb2348d..d81d768 100644 --- a/src/rmview.py +++ b/src/rmview.py @@ -130,7 +130,7 @@ class rMViewApp(QApplication): def connected(self, ssh): self.ssh = ssh self.viewer.setWindowTitle("rMview - " + self.config.get('ssh').get('address')) - self.fbworker = FrameBufferWorker(ssh, delay=self.config.get('fetch_frame_delay')) + self.fbworker = FrameBufferWorker(ssh, delay=self.config.get('fetch_frame_delay'), lz4_path=self.config.get('lz4_path_on_remarkable')) self.fbworker.signals.onNewFrame.connect(lambda image: self.viewer.setImage(image)) self.fbworker.signals.onFatalError.connect(self.frameError) self.threadpool.start(self.fbworker) diff --git a/src/workers.py b/src/workers.py index a4ce54b..0d79021 100644 --- a/src/workers.py +++ b/src/workers.py @@ -28,11 +28,14 @@ class FrameBufferWorker(QRunnable): _stop = False - def __init__(self, ssh, delay=None): + def __init__(self, ssh, delay=None, lz4_path=None): super(FrameBufferWorker, self).__init__() self._read_loop = """\ - while dd if=/dev/fb0 count=1 bs={bytes} 2>/dev/null; do {delay}; done | $HOME/lz4 - """.format(bytes=TOTAL_BYTES, delay="sleep "+str(delay) if delay else "true") + while dd if=/dev/fb0 count=1 bs={bytes} 2>/dev/null; do {delay}; done | {lz4_path}\ + """.format(bytes=TOTAL_BYTES, + delay="sleep "+str(delay) if delay else "true", + lz4_path=lz4_path or "$HOME/lz4") + print(self._read_loop) self.ssh = ssh self.signals = FBWSignals()