mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-06 07:17:42 -05:00
Mention display driver and window mode in Copy System Info text
This is useful information to know, as the X11 display driver can be
used both on X11 natively and on Wayland through XWayland.
Certain editor issues only occur in multi-window mode
(or only in single-window mode). Some issues also only occur
on multi-monitor setups, so the monitor count is now listed.
(cherry picked from commit 107675f785)
This commit is contained in:
committed by
Spartan322
parent
98185cf5b7
commit
00895fbdb9
@@ -4987,8 +4987,10 @@ String EditorNode::_get_system_info() const {
|
||||
godot_version += " " + hash;
|
||||
}
|
||||
|
||||
String display_session_type;
|
||||
#ifdef LINUXBSD_ENABLED
|
||||
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".
|
||||
// `replace` is necessary, because `capitalize` introduces a whitespace between "x" and "11".
|
||||
display_session_type = OS::get_singleton()->get_environment("XDG_SESSION_TYPE").capitalize().replace(" ", "");
|
||||
#endif // LINUXBSD_ENABLED
|
||||
String driver_name = GLOBAL_GET("rendering/rendering_device/driver");
|
||||
String rendering_method = GLOBAL_GET("rendering/renderer/rendering_method");
|
||||
@@ -5038,16 +5040,33 @@ String EditorNode::_get_system_info() const {
|
||||
// Join info.
|
||||
Vector<String> info;
|
||||
info.push_back(godot_version);
|
||||
String distribution_display_session_type = distribution_name;
|
||||
if (!distribution_version.is_empty()) {
|
||||
info.push_back(distribution_name + " " + distribution_version);
|
||||
} else {
|
||||
info.push_back(distribution_name);
|
||||
distribution_display_session_type += " " + distribution_version;
|
||||
}
|
||||
if (!display_session_type.is_empty()) {
|
||||
distribution_display_session_type += " on " + display_session_type;
|
||||
}
|
||||
info.push_back(distribution_display_session_type);
|
||||
|
||||
String display_driver_window_mode;
|
||||
#ifdef LINUXBSD_ENABLED
|
||||
if (!display_server.is_empty()) {
|
||||
info.push_back(display_server);
|
||||
}
|
||||
// `replace` is necessary, because `capitalize` introduces a whitespace between "x" and "11".
|
||||
display_driver_window_mode = DisplayServer::get_singleton()->get_name().capitalize().replace(" ", "") + " display driver";
|
||||
#endif // LINUXBSD_ENABLED
|
||||
if (!display_driver_window_mode.is_empty()) {
|
||||
display_driver_window_mode += ", ";
|
||||
}
|
||||
display_driver_window_mode += get_viewport()->is_embedding_subwindows() ? "Single-window" : "Multi-window";
|
||||
|
||||
if (DisplayServer::get_singleton()->get_screen_count() == 1) {
|
||||
display_driver_window_mode += ", " + itos(DisplayServer::get_singleton()->get_screen_count()) + " monitor";
|
||||
} else {
|
||||
display_driver_window_mode += ", " + itos(DisplayServer::get_singleton()->get_screen_count()) + " monitors";
|
||||
}
|
||||
|
||||
info.push_back(display_driver_window_mode);
|
||||
|
||||
info.push_back(vformat("%s (%s)", driver_name, rendering_method));
|
||||
|
||||
String graphics;
|
||||
@@ -5066,7 +5085,7 @@ String EditorNode::_get_system_info() const {
|
||||
}
|
||||
info.push_back(graphics);
|
||||
|
||||
info.push_back(vformat("%s (%d Threads)", processor_name, processor_count));
|
||||
info.push_back(vformat("%s (%d threads)", processor_name, processor_count));
|
||||
|
||||
return String(" - ").join(info);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user