Support running Big Picture as separate process

Enable Big Picture mode to run concurrently with Desktop mode by:

- Implementing cross-platform process launching (LaunchSiblingExecutable) for Windows, macOS, and Linux
- Adding app profile system to isolate CEF user data between modes
- Making window class/title and mutex names profile-aware
- Changing mode switching to launch sibling executable instead of in-process switching
- Updating settings.js to use native bridge for Big Picture launch
- Adding build.bat helper for Windows builds
This commit is contained in:
Andrew Zambazos
2026-07-12 19:36:51 +12:00
parent b7596674ab
commit 76b942542a
15 changed files with 328 additions and 15 deletions
+6
View File
@@ -2,9 +2,15 @@
#include <filesystem>
#include <string>
#include <string_view>
namespace nebula::ui {
// Process-wide profile used to isolate desktop vs Big Picture CEF data.
// Call before GetUserDataDirectory() / CEF initialize. Empty/"desktop" = default.
void SetAppProfile(std::string_view profile);
const std::string& GetAppProfile();
std::filesystem::path GetExecutableDirectory();
std::filesystem::path GetUserDataDirectory();
std::filesystem::path GetCacheDirectory();