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
+3
View File
@@ -56,6 +56,7 @@ if(OS_WINDOWS)
set(NEBULA_PLATFORM_SOURCES
src/platform/win/default_browser_win.cpp
src/platform/win/paths_win.cpp
src/platform/win/process_win.cpp
src/platform/win/startup_win.cpp
src/platform/win/browser_host_win.cpp
src/platform/win/nebula_window_win.cpp
@@ -64,6 +65,7 @@ elseif(OS_MACOSX)
set(NEBULA_PLATFORM_SOURCES
src/platform/mac/default_browser_mac.mm
src/platform/mac/paths_mac.cpp
src/platform/mac/process_mac.cpp
src/platform/mac/startup_mac.mm
src/platform/mac/browser_host_mac.mm
src/platform/mac/nebula_window_mac.mm
@@ -79,6 +81,7 @@ elseif(OS_LINUX)
set(NEBULA_PLATFORM_SOURCES
src/platform/linux/default_browser_linux.cpp
src/platform/linux/paths_linux.cpp
src/platform/linux/process_linux.cpp
src/platform/linux/startup_linux.cpp
src/platform/linux/browser_host_linux.cpp
src/platform/linux/nebula_window_linux.cpp