mirror of
https://github.com/godotengine/godot.git
synced 2025-04-13 01:00:35 +08:00
Fix Embedded Game disappear when not focused on KDE 5
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
This commit is contained in:
parent
c394eaa45c
commit
f7d1558bc0
@ -6276,7 +6276,7 @@ DisplayServerX11::WindowID DisplayServerX11::_create_window(WindowMode p_mode, V
|
||||
}
|
||||
}
|
||||
|
||||
if (wd.is_popup || wd.no_focus || wd.embed_parent) {
|
||||
if (wd.is_popup || wd.no_focus || (wd.embed_parent && !kde5_embed_workaround)) {
|
||||
// Set Utility type to disable fade animations.
|
||||
Atom type_atom = XInternAtom(x11_display, "_NET_WM_WINDOW_TYPE_UTILITY", False);
|
||||
Atom wt_atom = XInternAtom(x11_display, "_NET_WM_WINDOW_TYPE", False);
|
||||
@ -6422,6 +6422,7 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
|
||||
KeyMappingX11::initialize();
|
||||
|
||||
xwayland = OS::get_singleton()->get_environment("XDG_SESSION_TYPE").to_lower() == "wayland";
|
||||
kde5_embed_workaround = OS::get_singleton()->get_environment("XDG_CURRENT_DESKTOP").to_lower() == "kde" && OS::get_singleton()->get_environment("KDE_SESSION_VERSION") == "5";
|
||||
|
||||
native_menu = memnew(NativeMenu);
|
||||
context = p_context;
|
||||
|
@ -338,6 +338,7 @@ class DisplayServerX11 : public DisplayServer {
|
||||
bool xinerama_ext_ok = true;
|
||||
bool xshaped_ext_ok = true;
|
||||
bool xwayland = false;
|
||||
bool kde5_embed_workaround = false; // Workaround embedded game visibility on KDE 5 (GH-102043).
|
||||
|
||||
struct Property {
|
||||
unsigned char *data;
|
||||
|
Loading…
x
Reference in New Issue
Block a user