From b583befd7faff756ddc8d9cc201ca82f246ed09a Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Mon, 12 Oct 2026 17:12:25 +0300 Subject: x11: optimize rendering, event loop, cursors, and multiscreen handling - Implement MIT-SHM shared memory zero-copy presentation fallback - Install global XSetErrorHandler to suppress fatal BadWindow/BadDrawable crashes - Avoid event starvation by flushing and checking XEventsQueued in dispatch_timeout - Cache standard and hidden X11 cursors across pointer motion - Clamp popups to active monitor bounds via XRandR (XRRGetMonitors) - Fast-path DnD surface lookup via in-process surface tree - Modernize keycode resolution with XKB and ignore Lock/Mod2 mask state --- meson.build | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'meson.build') diff --git a/meson.build b/meson.build index 6673240..1c4ea10 100644 --- a/meson.build +++ b/meson.build @@ -30,9 +30,15 @@ if system == 'linux' x11 = dependency('x11', required: get_option('x11')) xi = dependency('xi', required: get_option('x11')) x11_xkb = dependency('xkbcommon', required: get_option('x11')) - has_x11 = x11.found() and xi.found() and x11_xkb.found() + xext = dependency('xext', required: get_option('x11')) + xrandr = dependency('xrandr', required: false) + has_x11 = x11.found() and xi.found() and x11_xkb.found() and xext.found() if has_x11 - deps += [x11, xi, x11_xkb] + deps += [x11, xi, x11_xkb, xext] + if xrandr.found() + deps += [xrandr] + add_project_arguments('-DYASL_HAS_XRANDR=1', language: 'c') + endif endif threads = dependency('threads') m_dep = cc.find_library('m', required: false) -- cgit v1.2.3