In the following file, the behaviour of the Spatiallabs Experience Center application is defined:
C:\Program Files\Acer\SpatialLabs\ExperienceCenter\resources\app\main.js
If you edit this file in place, you can change how the application behaves.
I recommend putting it through a Javascript pretty printer first however, since it is formatted terribly. Also make a copy of the file before you start editing if something goes wrong…
To make Spatiallabs Go stay in 3D mode until explicitly exited, search for the following lines and remove them:
this._activePID = o.getActiveProcess(!0), this._detectForegroundInterval = setInterval(() => {
this.bIn3DView && this._activePID && this._activePID !== o.getActiveProcess(!0) && 0 !== o.getActiveProcess(!1) && (this._log.writeLog(change foreground window pid: from ${this._activePID} to ${o.getActiveProcess(!0)}), this._activePID = void 0, this.stop3DViewAltTab())
}, 1e3),
and
setInterval(() => {
this.isFullscreen !== D.isForegroudInFullscreen() && 0 !== D.getActiveProcess(!1) && (this.isFullscreen = D.isForegroudInFullscreen(), this.admin.isAutoDetection() && (console.log("isFullscreen: " + this.isFullscreen), !this.isFullscreen || this.util.is3DView() || this.util.isFocusTutorial() || this.util.show3DHint(!0)), !this.isFullscreen && this.util.is3DView() && this.util.stop3DViewCheckFullScreen())
}, 3e3),
Make sure you remove EXACTLY that text, nothing more or less.
After these changes, you can put Spatiallabs Go into 3D mode and switch focus to different applications without exiting 3D mode!
If you also want to have the Escape key not exit 3D mode, remove these lines:
r.globalShortcut.register("Escape", () => {
this.stop3DViewEsc()
}),
and
r.globalShortcut.unregister("Escape"),
Again, only remove EXACTLY that text, nothing more.
I also attach the whole file for you to try (had to change extension, so change it back). This is for Experience Center V1.3.244. You should not use that file for other versions, but rather make the changes manually as described.