From d02efc2657aa61a376b8650f8e42f3cbdd895e31 Mon Sep 17 00:00:00 2001
From: galister <22305755+galister@users.noreply.github.com>
Date: Tue, 13 Jan 2026 23:59:03 +0900
Subject: [PATCH] always visible checkbox
---
wayvr/src/assets/gui/edit.xml | 3 +++
wayvr/src/assets/lang/en.json | 1 +
wayvr/src/overlays/edit/mod.rs | 10 ++++++++++
wayvr/src/overlays/edit/pos.rs | 1 -
4 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/wayvr/src/assets/gui/edit.xml b/wayvr/src/assets/gui/edit.xml
index c21a45bb..7ad87cc8 100644
--- a/wayvr/src/assets/gui/edit.xml
+++ b/wayvr/src/assets/gui/edit.xml
@@ -72,6 +72,9 @@
+
+
+
diff --git a/wayvr/src/assets/lang/en.json b/wayvr/src/assets/lang/en.json
index 0520c0bf..ea88d597 100644
--- a/wayvr/src/assets/lang/en.json
+++ b/wayvr/src/assets/lang/en.json
@@ -44,6 +44,7 @@
"POS_HMD": "Follow the HMD.",
"POS_STATIC": "Static: Not part of any set, no recenter.",
"POSITIONING": "Positioning",
+ "GLOBAL": "Always visible",
"RESIZE_PRESS_AND_DRAG": "Resize (press & drag)",
"STEREO_3D_MODE": {
"SPLIT_BOTTOM_TOP": "BOTTOM→TOP",
diff --git a/wayvr/src/overlays/edit/mod.rs b/wayvr/src/overlays/edit/mod.rs
index 609b9915..e7a43e4c 100644
--- a/wayvr/src/overlays/edit/mod.rs
+++ b/wayvr/src/overlays/edit/mod.rs
@@ -431,6 +431,7 @@ fn make_edit_panel(app: &mut AppState) -> anyhow::Result {
set_up_checkbox(&mut panel, "additive_box", cb_assign_additive)?;
set_up_checkbox(&mut panel, "align_box", cb_assign_align)?;
+ set_up_checkbox(&mut panel, "global_box", cb_assign_global)?;
set_up_checkbox(
&mut panel,
"stereo_full_frame_box",
@@ -487,6 +488,11 @@ fn reset_panel(
.fetch_component_as::("align_box")?;
c.set_checked(&mut common, state.positioning.get_align().unwrap_or(false));
+ let c = panel
+ .parser_state
+ .fetch_component_as::("global_box")?;
+ c.set_checked(&mut common, owc.global);
+
panel
.state
.pos
@@ -576,6 +582,10 @@ const fn cb_assign_align(_app: &mut AppState, owc: &mut OverlayWindowConfig, ali
active_state.positioning = active_state.positioning.with_align(align);
}
+const fn cb_assign_global(_app: &mut AppState, owc: &mut OverlayWindowConfig, global: bool) {
+ owc.global = global;
+}
+
fn cb_assign_stereo_full_frame(
_app: &mut AppState,
owc: &mut OverlayWindowConfig,
diff --git a/wayvr/src/overlays/edit/pos.rs b/wayvr/src/overlays/edit/pos.rs
index 195df35e..71ca932c 100644
--- a/wayvr/src/overlays/edit/pos.rs
+++ b/wayvr/src/overlays/edit/pos.rs
@@ -41,7 +41,6 @@ pub fn new_pos_tab_handler(
Box::new(|_common, state| {
let positioning = state.pos;
Box::new(move |app, owc| {
- owc.global = matches!(positioning, Positioning::Static);
let state = owc.active_state.as_mut().unwrap(); //want panic
state.positioning = positioning;
window::save_transform(state, app);