kitty/glfw
Kovid Goyal 16008b950a
Wayland: Fix spurious key repeat events when some user defined callback takes a long time to execute
On compositors that support compositor key repeat events, use those, for
complete robustness. Sadly no actual compositor implements these yet.

Otherwise use a timer fd/pipe to queue the repeat events and only
dispatch them after events from the compositor are handled. This means
release events from the compositor will prevent spurious repeat events.
One can, in the worst case lose some repeat events if there is a very
large interval between the start of the timer and the next poll, but
that is unavoidable and is why repeat events should come from the compositor
in the first place.

Fixes #9224
2025-12-03 22:26:09 +05:30
..
__init__.py
backend_utils.c Wayland: Fix spurious key repeat events when some user defined callback takes a long time to execute 2025-12-03 22:26:09 +05:30
backend_utils.h Wayland: Fix spurious key repeat events when some user defined callback takes a long time to execute 2025-12-03 22:26:09 +05:30
cocoa_displaylink.m Nano-optimisation: Avoid using a block with GCD 2025-10-22 13:40:42 +05:30
cocoa_init.m Use __block rather than __weak since we are in manual ref counting regime 2025-11-12 09:31:31 +05:30
cocoa_joystick.h
cocoa_joystick.m sprintf -> snprintf 2024-02-25 09:57:30 +05:30
cocoa_monitor.m Add some missing assertions 2025-08-16 07:38:54 +05:30
cocoa_platform.h Nano-optimisation: Avoid using a block with GCD 2025-10-22 13:40:42 +05:30
cocoa_window.m Also remove shadow from zero sized window 2025-11-12 14:01:37 +05:30
context.c Revert 72272ab4fe 2024-06-02 19:24:00 +05:30
dbus_glfw.c Linux: Handle desktop settings portals that are so old they don't implement ReadOne 2025-05-08 15:22:42 +05:30
dbus_glfw.h Linux: Handle desktop settings portals that are so old they don't implement ReadOne 2025-05-08 15:22:42 +05:30
egl_context.c Fallback to eglGetDisplay() when eglGetPlatformDisplayEXT() returns EGL_NO_DISPLAY 2025-08-16 08:13:40 +05:30
egl_context.h
glfw.py Move the code to cycle through OS Windows into glfw 2025-11-12 12:02:38 +05:30
glfw3.h macOS: When toggling in the quick access terminal move it to the currently active screen 2025-09-22 20:04:42 +05:30
glx_context.c Add some missing assertions 2025-08-16 07:38:54 +05:30
glx_context.h
ibus_glfw.c Linux: Handle desktop settings portals that are so old they don't implement ReadOne 2025-05-08 15:22:42 +05:30
ibus_glfw.h
init.c Wire up clipboard lost events 2025-03-12 09:26:36 +05:30
input.c Work on keyboard grabbing functionality 2025-05-18 11:37:11 +05:30
internal.h macOS: When toggling in the quick access terminal move it to the currently active screen 2025-09-22 20:04:42 +05:30
kwin-blur-v1.xml Wayland KDE: Add support for background_blur under kwin using a kwin private Wayland protocol 2024-03-22 13:41:44 +05:30
linux_desktop_settings.c ... 2025-11-22 20:03:01 +05:30
linux_desktop_settings.h Function to get the current system color theme 2024-11-07 12:47:06 +05:30
linux_joystick.c O_CLOEXEC for linux joystick open 2024-04-04 10:31:33 +05:30
linux_joystick.h
linux_notify.c Linux: Handle desktop settings portals that are so old they don't implement ReadOne 2025-05-08 15:22:42 +05:30
linux_notify.h Cleanup DBUS send notification API 2024-07-26 23:57:36 +05:30
main_loop.h
mappings.h
memfd.h
monitor.c Improve handling of output names 2025-05-13 15:29:37 +05:30
monotonic.c
nsgl_context.h
nsgl_context.m Move preservation of OpenGL context into glfw 2025-09-05 15:29:06 +05:30
null_init.c
null_joystick.c
null_joystick.h
null_monitor.c chore: remove repetitive words 2024-04-04 13:19:49 +08:00
null_platform.h
null_window.c
osmesa_context.c Add some missing assertions 2025-08-16 07:38:54 +05:30
osmesa_context.h
posix_thread.c
posix_thread.h
source-info.json Bind the wayland color manager interface 2025-07-31 14:37:42 +05:30
vulkan.c
window.c macOS: When toggling in the quick access terminal move it to the currently active screen 2025-09-22 20:04:42 +05:30
wl_client_side_decorations.c DRYer 2025-09-16 08:18:42 +05:30
wl_client_side_decorations.h Wayland: Fix incorrect window size calculation when transitioning from fullscreen to non-fullscreen with client side decorations 2025-07-17 20:36:38 +05:30
wl_cursors.c
wl_cursors.h
wl_init.c Wayland: Fix spurious key repeat events when some user defined callback takes a long time to execute 2025-12-03 22:26:09 +05:30
wl_monitor.c Add some missing assertions 2025-08-16 07:38:54 +05:30
wl_platform.h Apparently gamma22 gives incorrect colors or at least colors different from rendering without color management. srgb transfer function gives expected colors. 2025-07-31 19:07:28 +05:30
wl_text_input.c Wayland: Fix infinite loop causing bad performance when using IME via fcitx5 due to a change in fcitx5 2024-04-28 11:30:48 +05:30
wl_text_input.h
wl_window.c Wayland: Fix spurious key repeat events when some user defined callback takes a long time to execute 2025-12-03 22:26:09 +05:30
wlr-layer-shell-unstable-v1.xml Start work on wayland layer shell support 2024-03-24 20:48:20 +05:30
x11_init.c More atoms 2025-05-02 12:20:54 +05:30
x11_monitor.c Add some missing assertions 2025-08-16 07:38:54 +05:30
x11_platform.h More atoms 2025-05-02 12:20:54 +05:30
x11_window.c panel: implemented --edge=none on X11 2025-10-09 17:18:40 -05:00
xkb-compat-shim.h
xkb_glfw.c Make the debug logging functions consistent 2024-04-08 12:53:55 +05:30
xkb_glfw.h