Skip to content

Commit aa5c69b

Browse files
committed
Merge pull request godotengine#97239 from Calinou/editor-system-info-add-display-driver-window-mode
Mention display driver and window mode in Copy System Info text
2 parents afb1d82 + 107675f commit aa5c69b

File tree

1 file changed

+27
-8
lines changed

1 file changed

+27
-8
lines changed

editor/editor_node.cpp

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4952,8 +4952,10 @@ String EditorNode::_get_system_info() const {
49524952
godot_version += " " + hash;
49534953
}
49544954

4955+
String display_session_type;
49554956
#ifdef LINUXBSD_ENABLED
4956-
const String display_server = OS::get_singleton()->get_environment("XDG_SESSION_TYPE").capitalize().replace(" ", ""); // `replace` is necessary, because `capitalize` introduces a whitespace between "x" and "11".
4957+
// `replace` is necessary, because `capitalize` introduces a whitespace between "x" and "11".
4958+
display_session_type = OS::get_singleton()->get_environment("XDG_SESSION_TYPE").capitalize().replace(" ", "");
49574959
#endif // LINUXBSD_ENABLED
49584960
String driver_name = OS::get_singleton()->get_current_rendering_driver_name().to_lower();
49594961
String rendering_method = OS::get_singleton()->get_current_rendering_method().to_lower();
@@ -5014,16 +5016,33 @@ String EditorNode::_get_system_info() const {
50145016
// Join info.
50155017
Vector<String> info;
50165018
info.push_back(godot_version);
5019+
String distribution_display_session_type = distribution_name;
50175020
if (!distribution_version.is_empty()) {
5018-
info.push_back(distribution_name + " " + distribution_version);
5019-
} else {
5020-
info.push_back(distribution_name);
5021+
distribution_display_session_type += " " + distribution_version;
50215022
}
5022-
#ifdef LINUXBSD_ENABLED
5023-
if (!display_server.is_empty()) {
5024-
info.push_back(display_server);
5023+
if (!display_session_type.is_empty()) {
5024+
distribution_display_session_type += " on " + display_session_type;
50255025
}
5026+
info.push_back(distribution_display_session_type);
5027+
5028+
String display_driver_window_mode;
5029+
#ifdef LINUXBSD_ENABLED
5030+
// `replace` is necessary, because `capitalize` introduces a whitespace between "x" and "11".
5031+
display_driver_window_mode = DisplayServer::get_singleton()->get_name().capitalize().replace(" ", "") + " display driver";
50265032
#endif // LINUXBSD_ENABLED
5033+
if (!display_driver_window_mode.is_empty()) {
5034+
display_driver_window_mode += ", ";
5035+
}
5036+
display_driver_window_mode += get_viewport()->is_embedding_subwindows() ? "Single-window" : "Multi-window";
5037+
5038+
if (DisplayServer::get_singleton()->get_screen_count() == 1) {
5039+
display_driver_window_mode += ", " + itos(DisplayServer::get_singleton()->get_screen_count()) + " monitor";
5040+
} else {
5041+
display_driver_window_mode += ", " + itos(DisplayServer::get_singleton()->get_screen_count()) + " monitors";
5042+
}
5043+
5044+
info.push_back(display_driver_window_mode);
5045+
50275046
info.push_back(vformat("%s (%s)", driver_name, rendering_method));
50285047

50295048
String graphics;
@@ -5042,7 +5061,7 @@ String EditorNode::_get_system_info() const {
50425061
}
50435062
info.push_back(graphics);
50445063

5045-
info.push_back(vformat("%s (%d Threads)", processor_name, processor_count));
5064+
info.push_back(vformat("%s (%d threads)", processor_name, processor_count));
50465065

50475066
return String(" - ").join(info);
50485067
}

0 commit comments

Comments
 (0)