diff options
Diffstat (limited to 'src/ui/uxmanager.cpp')
| -rw-r--r-- | src/ui/uxmanager.cpp | 32 |
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 |
