From 2f63f24e7d7a7998bd79fea0d74633f2453fdd38 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 13 Apr 2023 13:29:03 +0530 Subject: [PATCH] log system color scheme changes --- kitty/boss.py | 3 +++ kitty/glfw.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/kitty/boss.py b/kitty/boss.py index 508befc97..53d0e7df2 100644 --- a/kitty/boss.py +++ b/kitty/boss.py @@ -2769,3 +2769,6 @@ class Boss: def sanitize_url_for_dispay_to_user(self, url: str) -> str: return sanitize_url_for_dispay_to_user(url) + + def on_system_color_scheme_change(self, appearance: int) -> None: + log_error('system color theme changed:', appearance) diff --git a/kitty/glfw.c b/kitty/glfw.c index 0207cf6e1..1229ca085 100644 --- a/kitty/glfw.c +++ b/kitty/glfw.c @@ -52,6 +52,11 @@ get_platform_dependent_config_values(void *glfw_window) { } } +static void +on_system_color_scheme_change(int appearance) { + call_boss(on_system_color_scheme_change, "i", appearance); +} + static void strip_csi_(const char *title, char *buf, size_t bufsz) { enum { NORMAL, IN_ESC, IN_CSI} state = NORMAL; @@ -869,6 +874,7 @@ create_os_window(PyObject UNUSED *self, PyObject *args, PyObject *kw) { glfwSetCurrentSelectionCallback(get_current_selection); glfwSetHasCurrentSelectionCallback(has_current_selection); glfwSetIMECursorPositionCallback(get_ime_cursor_position); + glfwSetSystemColorThemeChangeCallback(on_system_color_scheme_change); #ifdef __APPLE__ cocoa_set_activation_policy(OPT(macos_hide_from_tasks)); glfwWindowHint(GLFW_COCOA_GRAPHICS_SWITCHING, true);