summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/display_server_x11.h
diff options
context:
space:
mode:
authorRaul Santos <raulsntos@gmail.com>2022-08-30 17:04:17 +0200
committerRaul Santos <raulsntos@gmail.com>2022-09-02 16:49:21 +0200
commit471c9c296935fb1cf997f2ef5ef8883b3ebf941c (patch)
tree0d194fac73259bd03482d5afbd9067b3b8c28f6e /platform/linuxbsd/display_server_x11.h
parent6ccbc2709323c3f77f9509dcf55edad6d46e2a7c (diff)
downloadredot-engine-471c9c296935fb1cf997f2ef5ef8883b3ebf941c.tar.gz
Add support for system dark mode (Linux)
- Use `org.freedesktop.appearance color-scheme` to support system dark mode.
Diffstat (limited to 'platform/linuxbsd/display_server_x11.h')
-rw-r--r--platform/linuxbsd/display_server_x11.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/platform/linuxbsd/display_server_x11.h b/platform/linuxbsd/display_server_x11.h
index 650598d243..dd9ac088d9 100644
--- a/platform/linuxbsd/display_server_x11.h
+++ b/platform/linuxbsd/display_server_x11.h
@@ -60,6 +60,7 @@
#endif
#if defined(DBUS_ENABLED)
+#include "freedesktop_portal_desktop.h"
#include "freedesktop_screensaver.h"
#endif
@@ -120,6 +121,10 @@ class DisplayServerX11 : public DisplayServer {
TTS_Linux *tts = nullptr;
#endif
+#if defined(DBUS_ENABLED)
+ FreeDesktopPortalDesktop *portal_desktop = nullptr;
+#endif
+
struct WindowData {
Window x11_window;
::XIC xic;
@@ -320,6 +325,11 @@ public:
virtual void tts_stop() override;
#endif
+#if defined(DBUS_ENABLED)
+ virtual bool is_dark_mode_supported() const override;
+ virtual bool is_dark_mode() const override;
+#endif
+
virtual void mouse_set_mode(MouseMode p_mode) override;
virtual MouseMode mouse_get_mode() const override;