summaryrefslogtreecommitdiffstats
path: root/core/config/project_settings.cpp
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2023-01-05 00:00:02 +0200
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2023-01-07 11:14:35 +0200
commit2718a7b7d39962100e59b8616077603034d77f8e (patch)
tree6d48f930ca78c7f2b991573ba375cf70c0f83d89 /core/config/project_settings.cpp
parent163f6f5fe87d11645e94cd49f41226ab03063e53 (diff)
downloadredot-engine-2718a7b7d39962100e59b8616077603034d77f8e.tar.gz
Add support for the custom initial screen for the main window, fix primary screen detection.
Diffstat (limited to 'core/config/project_settings.cpp')
-rw-r--r--core/config/project_settings.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/config/project_settings.cpp b/core/config/project_settings.cpp
index 2ce3ce2678..0bf7430d84 100644
--- a/core/config/project_settings.cpp
+++ b/core/config/project_settings.cpp
@@ -1240,6 +1240,14 @@ ProjectSettings::ProjectSettings() {
GLOBAL_DEF_BASIC("display/window/size/mode", 0);
custom_prop_info["display/window/size/mode"] = PropertyInfo(Variant::INT, "display/window/size/mode", PROPERTY_HINT_ENUM, "Windowed,Minimized,Maximized,Fullscreen,Exclusive Fullscreen");
+ // Keep the enum values in sync with the `DisplayServer::SCREEN_` enum.
+ GLOBAL_DEF_BASIC("display/window/size/initial_screen", -2);
+ String screen_hints = "Primary Monitor:-2"; // Note: Main Window Monitor:-1 is not used for the main window, skip it.
+ for (int i = 0; i < 64; i++) {
+ screen_hints += ",Monitor " + itos(i + 1) + ":" + itos(i);
+ }
+ custom_prop_info["display/window/size/initial_screen"] = PropertyInfo(Variant::INT, "display/window/size/initial_screen", PROPERTY_HINT_ENUM, screen_hints);
+
GLOBAL_DEF_BASIC("display/window/size/resizable", true);
GLOBAL_DEF_BASIC("display/window/size/borderless", false);
GLOBAL_DEF("display/window/size/always_on_top", false);