From 968d95eb28745f93ca5b241bbdf4af2ddd87e5e9 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 7 Nov 2024 00:31:08 +0200 Subject: [PATCH] pikvm/pikvm#1341: Web: Switch to maximize tab by default --- web/kvm/index.html | 34 +++++++++++++++++++++++++--------- web/kvm/navbar-system.pug | 10 ++++++++-- web/share/js/kvm/main.js | 9 +++++++-- web/share/js/wm.js | 6 +++--- 4 files changed, 43 insertions(+), 16 deletions(-) diff --git a/web/kvm/index.html b/web/kvm/index.html index 0c40cc839..94e9631d9 100644 --- a/web/kvm/index.html +++ b/web/kvm/index.html @@ -362,6 +362,31 @@ +
+ Web UI settings +
+ + + + + + + + + +
Ask page close confirmation: +
+ + +
+
Expand for entire tab by default: +
+ + +
+
+
+
@@ -408,15 +433,6 @@ - - - -
Connect HID to Server:
Ask page close confirmation: -
- - -
-

diff --git a/web/kvm/navbar-system.pug b/web/kvm/navbar-system.pug index 484bed86b..298e7955b 100644 --- a/web/kvm/navbar-system.pug +++ b/web/kvm/navbar-system.pug @@ -113,6 +113,14 @@ li(id="system-dropdown" class="right") td(id="hid-mouse-scroll-value" class="value-number") tr +menu_switch_notable("hid-mouse-dot-switch", "Show the blue dot", true, true) + details + summary Web UI settings + div(class="spoiler") + table(class="kv") + tr + +menu_switch_notable("page-close-ask-switch", "Ask page close confirmation", true, true) + tr + +menu_switch_notable("page-full-tab-stream-switch", "Expand for entire tab by default", true, false) table(class="kv") tr(id="hid-connect" class="feature-disabled") +menu_switch_notable("hid-connect-switch", "Connect HID to Server", true, true) @@ -125,8 +133,6 @@ li(id="system-dropdown" class="right") "Turning off this switch will disconnect the main USB from the server. Are you sure you want to continue?") tr(id="v4-locator" class="feature-disabled") +menu_switch_notable_gpio("__v4_locator__", "Enable locator LED") - tr - +menu_switch_notable("page-close-ask-switch", "Ask page close confirmation", true, true) hr div(class="buttons buttons-row") button(data-force-hide-menu data-show-window="keyboard-window" class="row50") • Show keyboard diff --git a/web/share/js/kvm/main.js b/web/share/js/kvm/main.js index e32992a99..c71e7fd6b 100644 --- a/web/share/js/kvm/main.js +++ b/web/share/js/kvm/main.js @@ -50,9 +50,14 @@ export function main() { tools.el.setOnClick($("open-log-button"), () => window.open("/api/log?seek=3600&follow=1", "_blank")); - if (tools.config.getBool("kvm--full-tab-stream", false)) { - wm.toggleFullTabWindow($("stream-window"), true); + tools.storage.bindSimpleSwitch( + $("page-full-tab-stream-switch"), + "page.full_tab_stream", + tools.config.getBool("kvm--full-tab-stream", false)); + if ($("page-full-tab-stream-switch").checked) { + wm.setFullTabWindow($("stream-window"), true); } + wm.showWindow($("stream-window")); new Session(); diff --git a/web/share/js/wm.js b/web/share/js/wm.js index 1c1b67dff..162f43ba5 100644 --- a/web/share/js/wm.js +++ b/web/share/js/wm.js @@ -111,8 +111,8 @@ function __WindowManager() { let el_exit_full_tab_button = el_window.querySelector(".window-button-exit-full-tab"); if (el_enter_full_tab_button && el_exit_full_tab_button) { el_enter_full_tab_button.title = "Stretch to the entire tab"; - tools.el.setOnClick(el_enter_full_tab_button, () => self.toggleFullTabWindow(el_window, true)); - tools.el.setOnClick(el_exit_full_tab_button, () => self.toggleFullTabWindow(el_window, false)); + tools.el.setOnClick(el_enter_full_tab_button, () => self.setFullTabWindow(el_window, true)); + tools.el.setOnClick(el_exit_full_tab_button, () => self.setFullTabWindow(el_window, false)); } let el_full_screen_button = el_window.querySelector(".window-header .window-button-full-screen"); @@ -334,7 +334,7 @@ function __WindowManager() { __activateLastWindow(el_window); }; - self.toggleFullTabWindow = function(el_window, enabled) { + self.setFullTabWindow = function(el_window, enabled) { el_window.classList.toggle("window-full-tab", enabled); __activateLastWindow(el_window); let el_navbar = $("navbar");