Fix high DPI check in 0437835b

This commit is contained in:
Cameron Gutman
2020-02-08 18:47:59 -08:00
parent 0437835bde
commit 505050e936
4 changed files with 68 additions and 2 deletions

46
app/wm.cpp Normal file
View File

@@ -0,0 +1,46 @@
#include "utils.h"
#ifdef HAS_X11
#include <X11/Xlib.h>
#endif
#ifdef HAS_WAYLAND
#include <wayland-client.h>
#endif
bool WMUtils::isRunningX11()
{
#ifdef HAS_WAYLAND
Display* display = XOpenDisplay(nullptr);
if (display != nullptr) {
XCloseDisplay(display);
return true;
}
#endif
return false;
}
bool WMUtils::isRunningWayland()
{
#ifdef HAS_WAYLAND
struct wl_display* display = wl_display_connect(nullptr);
if (display != nullptr) {
wl_display_disconnect(display);
return true;
}
#endif
return false;
}
bool WMUtils::isRunningWindowManager()
{
#if defined(Q_OS_WIN) || defined(Q_OS_DARWIN)
// Windows and macOS are always running a window manager
return true;
#else
// On Unix OSes, look for Wayland or X
return WMUtils::isRunningWayland() || WMUtils::isRunningX11();
#endif
}