+
+
+
+
diff --git a/wlx-overlay-s/src/assets/keyboard/burger.svg b/wlx-overlay-s/src/assets/keyboard/burger.svg
new file mode 120000
index 0000000..928a96b
--- /dev/null
+++ b/wlx-overlay-s/src/assets/keyboard/burger.svg
@@ -0,0 +1 @@
+../../../../dash-frontend/assets/dashboard/burger.svg
\ No newline at end of file
diff --git a/wlx-overlay-s/src/assets/lang/de.json b/wlx-overlay-s/src/assets/lang/de.json
index c370d89..faf3e35 100644
--- a/wlx-overlay-s/src/assets/lang/de.json
+++ b/wlx-overlay-s/src/assets/lang/de.json
@@ -1,10 +1,11 @@
{
"ANCHOR": {
"CENTER": "Zentrum"
+ },
+ "BAR": {
+ "ADD_MIRROR": "Neuen Spiegel-Overlay hinzufügen"
},
"WATCH": {
- "MIRROR": "Neuen Spiegel-Overlay hinzufügen",
- "CLEANUP_MIRRORS": "Spiegel entfernen,\ndie derzeit nicht sichtbar sind",
"RECENTER": "Spielbereich neu zentrieren",
"FIX_FLOOR": "Bodenhöhe korrigieren",
"EDIT_MODE_EXPLANATION": "Overlays können nun einzeln verschoben und angepasst werden.\nOverlays für den aktuellen Satz umschalten:",
diff --git a/wlx-overlay-s/src/assets/lang/en.json b/wlx-overlay-s/src/assets/lang/en.json
index 5f12528..2638732 100644
--- a/wlx-overlay-s/src/assets/lang/en.json
+++ b/wlx-overlay-s/src/assets/lang/en.json
@@ -3,6 +3,10 @@
"CENTER": "Center"
},
"BAR": {
+ "ADD_MIRROR": "Add a new mirror overlay",
+ "EDIT_MODE_TOGGLE": "Toggle edit mode",
+ "ADD_NEW_SET": "Add new set",
+ "DELETE_CURRENT_SET": "Delete current set",
"TOGGLE_VISIBILITY": "Toggle visibility",
"RESET_POSITION": "Reset position",
"RELOAD_FROM_DISK": "Reload XML from disk",
@@ -12,12 +16,6 @@
},
"DEFAULT": "Default",
"DISABLED": "Disabled",
- "OVERLAY_TOOLTIP": {
- "SCREEN": "Screen {}",
- "MIRROR": "Mirror {}",
- "PANEL": "Panel {}",
- "APP": "{}"
- },
"EDIT_MODE": {
"ADJUST_CURVATURE": "Adjust curvature",
"ALPHA_BLEND_MODE": "Alpha blend mode",
@@ -75,6 +73,8 @@
"TOAST": {
"DEFAULT_TITLE": "Notification",
"ERROR": "Error",
+ "CANNOT_ADD_SET": "Cannot add set!",
+ "MAXIMUM_SETS_REACHED": "Maximum number of sets reached.",
"CANNOT_REMOVE_SET": "Cannot remove set!",
"NO_SET_SELECTED": "No set is selected.",
"LAST_EXISTING_SET": "This is the last existing set.",
@@ -91,7 +91,6 @@
"EDIT_MODE_EXPLANATION": "Overlays can now be moved and tuned individually.\nControl which overlays are visible on this set:",
"FIX_FLOOR": "Fix floor level",
"LONG_PRESS_TO_DELETE_SET": "Hold to delete",
- "MIRROR": "Add a new mirror overlay",
"RECENTER": "Recenter playspace",
"SWITCH_TO_SET": "Switch to set",
"TOGGLE_FOR_CURRENT_SET": "Toggle for current set"
diff --git a/wlx-overlay-s/src/assets/lang/es.json b/wlx-overlay-s/src/assets/lang/es.json
index 55de4c2..6ba8581 100644
--- a/wlx-overlay-s/src/assets/lang/es.json
+++ b/wlx-overlay-s/src/assets/lang/es.json
@@ -2,9 +2,10 @@
"ANCHOR": {
"CENTER": "Centro"
},
+ "BAR": {
+ "ADD_MIRROR": "Agregar una nueva superposición de espejo"
+ },
"WATCH": {
- "MIRROR": "Agregar una nueva superposición de espejo",
- "CLEANUP_MIRRORS": "Eliminar espejos que no están actualmente visibles",
"RECENTER": "Recentrar el área de juego",
"FIX_FLOOR": "Ajustar la altura del piso",
"EDIT_MODE_EXPLANATION": "Ahora las superposiciones se pueden mover y ajustar individualmente.\nAlternar superposiciones para el conjunto actual:",
diff --git a/wlx-overlay-s/src/assets/lang/ja.json b/wlx-overlay-s/src/assets/lang/ja.json
index 3a90773..be5d4ec 100644
--- a/wlx-overlay-s/src/assets/lang/ja.json
+++ b/wlx-overlay-s/src/assets/lang/ja.json
@@ -1,10 +1,11 @@
{
"ANCHOR": {
"CENTER": "センター"
+ },
+ "BAR": {
+ "ADD_MIRROR": "新しいミラーを追加"
},
"WATCH": {
- "MIRROR": "新しいミラーオーバーレイを追加",
- "CLEANUP_MIRRORS": "現在表示されていないミラーを削除",
"RECENTER": "プレイスペースをリセンター",
"FIX_FLOOR": "床の高さを修正",
"EDIT_MODE_EXPLANATION": "オーバーレイは個別に移動および調整できます。\n現在のセットのオーバーレイを切り替え:",
@@ -82,4 +83,4 @@
"FIXING_FLOOR": "5秒後にフロアを固定します...",
"ONE_CONTROLLER_ON_FLOOR": "コントローラーを床に置いてください!"
}
-}
\ No newline at end of file
+}
diff --git a/wlx-overlay-s/src/assets/lang/pl.json b/wlx-overlay-s/src/assets/lang/pl.json
index 9e7f341..e394feb 100644
--- a/wlx-overlay-s/src/assets/lang/pl.json
+++ b/wlx-overlay-s/src/assets/lang/pl.json
@@ -1,10 +1,11 @@
{
"ANCHOR": {
"CENTER": "Centrum"
+ },
+ "BAR": {
+ "ADD_MIRROR": "Dodaj nowy widok lustrzany"
},
"WATCH": {
- "MIRROR": "Dodaj nowy widok lustrzany",
- "CLEANUP_MIRRORS": "Usuń widoki lustrzane, które\nnie są obecnie widoczne",
"RECENTER": "Wyśrodkuj przestrzeń gry",
"FIX_FLOOR": "Napraw wysokość podłogi",
"EDIT_MODE_EXPLANATION": "Nakładki można teraz przesuwać i dostosowywać indywidualnie.\nPrzełącz nakładki dla bieżącego zestawu:",
@@ -82,4 +83,4 @@
"FIXING_FLOOR": "Naprawianie podłogi za 5 sekund...",
"ONE_CONTROLLER_ON_FLOOR": "Umieść jeden kontroler na podłodze!"
}
-}
\ No newline at end of file
+}
diff --git a/wlx-overlay-s/src/windowing/manager.rs b/wlx-overlay-s/src/windowing/manager.rs
index c131996..108575c 100644
--- a/wlx-overlay-s/src/windowing/manager.rs
+++ b/wlx-overlay-s/src/windowing/manager.rs
@@ -234,8 +234,23 @@ where
}
}
OverlayTask::AddSet => {
+ let new_idx = self.sets.len();
+ if new_idx >= MAX_OVERLAY_SETS {
+ Toast::new(
+ ToastTopic::System,
+ "TOAST.CANNOT_ADD_SET".into(),
+ "TOAST.MAXIMUM_SETS_REACHED".into(),
+ )
+ .with_timeout(5.)
+ .with_sound(true)
+ .submit(app);
+ return Ok(());
+ }
self.sets.push(OverlayWindowSet::default());
+ self.switch_to_set(app, Some(new_idx), false);
+ self.overlays[self.keyboard_id].config.activate(app);
self.sets_changed(app);
+ self.visible_overlays_changed(app)?;
}
OverlayTask::DeleteActiveSet => {
let Some(set) = self.current_set else {
@@ -264,6 +279,7 @@ where
self.switch_to_set(app, None, false);
self.sets.remove(set);
+ self.restore_set = 0;
self.sets_changed(app);
}
OverlayTask::SettingsChanged => {