summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorBerke Güzel <wenekar1@gmail.com>2026-10-12 17:12:25 +0300
committerBerke Güzel <wenekar1@gmail.com>2026-10-12 17:12:25 +0300
commitb583befd7faff756ddc8d9cc201ca82f246ed09a (patch)
treeb6c2235bb6a14e951944f1837f579d9e7d24f378 /meson.build
parenta3c4628ac9a9a9a81cbef9f36a4e15dd217cb0bc (diff)
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
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build10
1 files changed, 8 insertions, 2 deletions
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)