From 6c6cce1d26b35e0ce9dc0d980c912b4e123b5bc6 Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Mon, 11 Apr 2022 22:25:50 +0200 Subject: [PATCH] update screenshots --- client/assets/js/main.js | 20 +++++++++++++++----- client/index.html | 6 ++++-- server/src/resource/server.php | 3 ++- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/client/assets/js/main.js b/client/assets/js/main.js index 11349ac..613a472 100644 --- a/client/assets/js/main.js +++ b/client/assets/js/main.js @@ -187,20 +187,29 @@ var pointerTouchMoveHandler = function(e) { ws.send(msg); } -var liveClickHandler = function(e) { +var liveHqClickHandler = function(e) { + return liveClickHandler(e, 'hq') +} + +var liveLqClickHandler = function(e) { + return liveClickHandler(e, 'lq') +} + +var liveClickHandler = function(e, quality) { if (isLive) { isLive = false; - $(this).text('Live'); + $('#live-hq').text(`Live HQ`); + $('#live-lq').text(`Live LQ`); return; } isLive = true; - $(this).text('Stop live'); + $(e.target).text('Stop live'); var doScreenshot = function() { if (isLive) { - ws.send('{"type":"screenshot"}'); + ws.send(`{"type":"screenshot","quality":"${quality}"}`); window.setTimeout(doScreenshot, 100); } @@ -272,7 +281,8 @@ var addListeners = function() { .on('touchstart', pointerTouchStartHandler) .on('touchmove', pointerTouchMoveHandler); - $('#live').click(liveClickHandler); + $('#live-hq').click(liveHqClickHandler); + $('#live-lq').click(liveLqClickHandler); $('.btn-fullscreen').click(fullscreenHandler) } diff --git a/client/index.html b/client/index.html index cac003e..6f5b981 100644 --- a/client/index.html +++ b/client/index.html @@ -213,8 +213,10 @@

Desktop

- - + + + +
diff --git a/server/src/resource/server.php b/server/src/resource/server.php index d324e30..4eb5f53 100644 --- a/server/src/resource/server.php +++ b/server/src/resource/server.php @@ -169,6 +169,7 @@ $server->addMessageHandler('text', function (ConnectionInterface $from, array $d $server->addMessageHandler('screenshot', function (ConnectionInterface $from, array $data) use ($shell, $messageOutput) { $tmpFilename = sprintf('%s/remote_i3wm_ws_screenshot.lock', sys_get_temp_dir()); + $qualities = ['hq' => 95, 'lq' => 5]; if (file_exists($tmpFilename) && time() - filemtime($tmpFilename) < 10) { return; @@ -176,7 +177,7 @@ $server->addMessageHandler('screenshot', function (ConnectionInterface $from, ar touch($tmpFilename); - $content = $shell->exec('import -window root -quality 10 -display :0 jpeg:-'); + $content = $shell->exec(sprintf('import -window root -quality %d -display :0 jpeg:-', $qualities[$data['quality'] ?? 'hq'])); if (!empty($content)) { $base64 = base64_encode($content);