diff options
| author | Berke Güzel <wenekar1@gmail.com> | 2026-10-12 17:12:25 +0300 |
|---|---|---|
| committer | Berke Güzel <wenekar1@gmail.com> | 2026-10-12 17:12:25 +0300 |
| commit | b583befd7faff756ddc8d9cc201ca82f246ed09a (patch) | |
| tree | b6c2235bb6a14e951944f1837f579d9e7d24f378 /meson.build | |
| parent | a3c4628ac9a9a9a81cbef9f36a4e15dd217cb0bc (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.build | 10 |
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) |
