summaryrefslogtreecommitdiffstats
path: root/src/ui/uxmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/uxmanager.cpp')
-rw-r--r--src/ui/uxmanager.cpp32
1 files changed, 25 insertions, 7 deletions
diff --git a/src/ui/uxmanager.cpp b/src/ui/uxmanager.cpp
index cbce86cdb..15663af57 100644
--- a/src/ui/uxmanager.cpp
+++ b/src/ui/uxmanager.cpp
@@ -24,6 +24,10 @@
#include <gdk/gdkx.h>
#endif // GDK_WINDOWING_X11
+#ifdef GDK_WINDOWING_WAYLAND
+#include <gdk/gdkwayland.h>
+#endif
+
using std::vector;
@@ -132,15 +136,29 @@ UXManagerImpl::UXManagerImpl() :
tags.addTag(ege::Tag("General"));
tags.addTag(ege::Tag("Icons"));
-#if defined(GDK_WINDOWING_X11)
- char const* wmName = gdk_x11_screen_get_window_manager_name( gdk_screen_get_default() );
- //g_message("Window manager is [%s]", wmName);
+// Nobody seems to use floatwindowIssues... we can probably delete all this code!
+// See: https://developer.gnome.org/gdk3/stable/gdk3-Wayland-Interaction.html
+ GdkDisplay* display = gdk_display_get_default();
+#ifdef GDK_WINDOWING_WAYLAND
+ if (GDK_IS_WAYLAND_DISPLAY (display) ) {
+ // std::cout << "Using Wayland!" << std::endl;
+ }
+#endif
- //if (g_ascii_strcasecmp( wmName, UNKOWN_WINDOW_MANAGER_NAME ) == 0) {
- if (g_ascii_strcasecmp( wmName, KDE_WINDOW_MANAGER_NAME ) == 0) {
- _floatwindowIssues = true;
+#ifdef GDK_WINDOWING_X11
+ if (GDK_IS_X11_DISPLAY (display) ) {
+ // std::cout << "Using X11!" << std::endl;
+ char const* wmName = gdk_x11_screen_get_window_manager_name( gdk_screen_get_default() );
+ //g_message("Window manager is [%s]", wmName);
+
+ //if (g_ascii_strcasecmp( wmName, UNKOWN_WINDOW_MANAGER_NAME ) == 0) {
+ if (g_ascii_strcasecmp( wmName, KDE_WINDOW_MANAGER_NAME ) == 0) {
+ _floatwindowIssues = true;
+ }
}
-#elif defined(GDK_WINDOWING_WIN32)
+#endif
+
+#ifdef GDK_WINDOWING_WIN32
_floatwindowIssues = true;
#endif // GDK_WINDOWING_WIN32