mirror of
https://github.com/kovidgoyal/kitty
synced 2026-06-06 01:05:48 +02:00
Wire up color scheme change notifications on X11 as well
This commit is contained in:
5
glfw/linux_desktop_settings.c
vendored
5
glfw/linux_desktop_settings.c
vendored
@@ -111,7 +111,9 @@ HANDLER(process_desktop_settings)
|
||||
if (!dbus_message_iter_next(&array)) break;
|
||||
}
|
||||
#undef die
|
||||
#ifndef _GLFW_X11
|
||||
if (cursor_theme_changed) _glfwPlatformChangeCursorTheme();
|
||||
#endif
|
||||
}
|
||||
|
||||
#undef HANDLER
|
||||
@@ -124,8 +126,7 @@ read_desktop_settings(DBusConnection *session_bus) {
|
||||
dbus_message_iter_init_append(msg, &iter);
|
||||
if (!dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "s", &array_iter)) { return false; }
|
||||
if (!dbus_message_iter_close_container(&iter, &array_iter)) { return false; }
|
||||
bool ok = call_method_with_msg(session_bus, msg, DBUS_TIMEOUT_USE_DEFAULT, process_desktop_settings, NULL);
|
||||
return ok;
|
||||
return call_method_with_msg(session_bus, msg, DBUS_TIMEOUT_USE_DEFAULT, process_desktop_settings, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -144,6 +144,7 @@
|
||||
"linux_joystick.h",
|
||||
"null_joystick.h",
|
||||
"linux_notify.h",
|
||||
"linux_desktop_settings.h",
|
||||
"main_loop.h"
|
||||
],
|
||||
"sources": [
|
||||
@@ -160,6 +161,7 @@
|
||||
"backend_utils.c",
|
||||
"linux_joystick.c",
|
||||
"null_joystick.c",
|
||||
"linux_desktop_settings.c",
|
||||
"linux_notify.c"
|
||||
]
|
||||
}
|
||||
|
||||
2
glfw/x11_init.c
vendored
2
glfw/x11_init.c
vendored
@@ -30,6 +30,7 @@
|
||||
#define _GNU_SOURCE
|
||||
#include "internal.h"
|
||||
#include "backend_utils.h"
|
||||
#include "linux_desktop_settings.h"
|
||||
|
||||
#include <X11/Xresource.h>
|
||||
|
||||
@@ -648,6 +649,7 @@ int _glfwPlatformInit(void)
|
||||
"X11: Failed to initialize event loop data");
|
||||
}
|
||||
glfw_dbus_init(&_glfw.x11.dbus, &_glfw.x11.eventLoopData);
|
||||
glfw_initialize_desktop_settings(); // needed for color scheme change notification
|
||||
|
||||
_glfw.x11.screen = DefaultScreen(_glfw.x11.display);
|
||||
_glfw.x11.root = RootWindow(_glfw.x11.display, _glfw.x11.screen);
|
||||
|
||||
Reference in New Issue
Block a user