Skip to content

Commit 012ccbc

Browse files
committed
Merge pull request #95048 from KoBeWi/keep_the_party_going
Add `keep_screen_on` editor setting
2 parents 9e1c63a + ab4c235 commit 012ccbc

6 files changed

Lines changed: 7 additions & 7 deletions

File tree

core/config/project_settings.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1472,10 +1472,6 @@ ProjectSettings::ProjectSettings() {
14721472
GLOBAL_DEF(PropertyInfo(Variant::INT, "display/window/size/window_height_override", PROPERTY_HINT_RANGE, "0,4320,1,or_greater"), 0); // 8K resolution
14731473

14741474
GLOBAL_DEF("display/window/energy_saving/keep_screen_on", true);
1475-
#ifdef TOOLS_ENABLED
1476-
GLOBAL_DEF("display/window/energy_saving/keep_screen_on.editor_hint", false);
1477-
#endif
1478-
14791475
GLOBAL_DEF("animation/warnings/check_invalid_track_paths", true);
14801476
GLOBAL_DEF("animation/warnings/check_angle_interpolation_type_conflicting", true);
14811477

doc/classes/EditorSettings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -680,6 +680,9 @@
680680
<member name="interface/editor/import_resources_when_unfocused" type="bool" setter="" getter="">
681681
If [code]true[/code], (re)imports resources even if the editor window is unfocused or minimized. If [code]false[/code], resources are only (re)imported when the editor window is focused. This can be set to [code]true[/code] to speed up iteration by starting the import process earlier when saving files in the project folder. This also allows getting visual feedback on changes without having to click the editor window, which is useful with multi-monitor setups. The downside of setting this to [code]true[/code] is that it increases idle CPU usage and may steal CPU time from other applications when importing resources.
682682
</member>
683+
<member name="interface/editor/keep_screen_on" type="bool" setter="" getter="">
684+
If [code]true[/code], keeps the screen on (even in case of inactivity), so the screensaver does not take over. Works on desktop and mobile platforms.
685+
</member>
683686
<member name="interface/editor/localize_settings" type="bool" setter="" getter="">
684687
If [code]true[/code], setting names in the editor are localized when possible.
685688
[b]Note:[/b] This setting affects most [EditorInspector]s in the editor UI, primarily Project Settings and Editor Settings. To control names displayed in the Inspector dock, use [member interface/inspector/default_property_name_style] instead.

doc/classes/ProjectSettings.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -813,9 +813,6 @@
813813
<member name="display/window/energy_saving/keep_screen_on" type="bool" setter="" getter="" default="true">
814814
If [code]true[/code], keeps the screen on (even in case of inactivity), so the screensaver does not take over. Works on desktop and mobile platforms.
815815
</member>
816-
<member name="display/window/energy_saving/keep_screen_on.editor_hint" type="bool" setter="" getter="" default="false">
817-
Editor-only override for [member display/window/energy_saving/keep_screen_on]. Does not affect running project.
818-
</member>
819816
<member name="display/window/handheld/orientation" type="int" setter="" getter="" default="0">
820817
The default screen orientation to use on mobile devices. See [enum DisplayServer.ScreenOrientation] for possible values.
821818
[b]Note:[/b] When set to a portrait orientation, this project setting does not flip the project resolution's width and height automatically. Instead, you have to set [member display/window/size/viewport_width] and [member display/window/size/viewport_height] accordingly.

editor/editor_node.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -740,6 +740,7 @@ void EditorNode::_notification(int p_what) {
740740

741741
RenderingServer::get_singleton()->viewport_set_disable_2d(get_scene_root()->get_viewport_rid(), true);
742742
RenderingServer::get_singleton()->viewport_set_environment_mode(get_viewport()->get_viewport_rid(), RenderingServer::VIEWPORT_ENVIRONMENT_DISABLED);
743+
DisplayServer::get_singleton()->screen_set_keep_on(EDITOR_GET("interface/editor/keep_screen_on"));
743744

744745
feature_profile_manager->notify_changed();
745746

@@ -838,6 +839,7 @@ void EditorNode::_notification(int p_what) {
838839
if (EditorSettings::get_singleton()->check_changed_settings_in_group("interface/editor")) {
839840
_update_update_spinner();
840841
_update_vsync_mode();
842+
DisplayServer::get_singleton()->screen_set_keep_on(EDITOR_GET("interface/editor/keep_screen_on"));
841843
}
842844

843845
#if defined(MODULE_GDSCRIPT_ENABLED) || defined(MODULE_MONO_ENABLED)

editor/editor_settings.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
467467
EDITOR_SETTING(Variant::INT, PROPERTY_HINT_ENUM, "interface/editor/show_update_spinner", 0, "Auto (Disabled),Enabled,Disabled")
468468
#endif
469469

470+
_initial_set("interface/editor/keep_screen_on", false);
470471
EDITOR_SETTING_USAGE(Variant::INT, PROPERTY_HINT_RANGE, "interface/editor/low_processor_mode_sleep_usec", 6900, "1,100000,1", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED)
471472
// Default unfocused usec sleep is for 10 FPS. Allow an unfocused FPS limit
472473
// as low as 1 FPS for those who really need low power usage (but don't need

editor/project_manager.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ void ProjectManager::_notification(int p_what) {
9393
} break;
9494

9595
case NOTIFICATION_READY: {
96+
DisplayServer::get_singleton()->screen_set_keep_on(EDITOR_GET("interface/editor/keep_screen_on"));
9697
const int default_sorting = (int)EDITOR_GET("project_manager/sorting_order");
9798
filter_option->select(default_sorting);
9899
project_list->set_order_option(default_sorting);

0 commit comments

Comments
 (0)