@@ -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