Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-01-25 | backend/libinput: drop wl_display argument | Simon Ser | |
We can grab the event loop from the wlr_session instead. | |||
2024-01-25 | backend/headless: take wl_event_loop instead of wl_display | Simon Ser | |
2024-01-25 | xwayland: add support for _NET_WM_WINDOW_TYPE_DESKTOP atom | Grigory Kirillov | |
2024-01-25 | backend: stop calling wl_display_terminate() | Simon Ser | |
Leave it up to the compositor to decide what to do when a backend becomes unavailable. | |||
2024-01-25 | backend: destroy multi backend when primary backend is | Simon Ser | |
This makes it easy for compositors to handle situations where the DRM or libinput backend becomes unavailable. Compositors can listen the destroy event of the multi backend returned by wlr_backend_autocreate() and decide what to do. | |||
2024-01-25 | backend: make attempt_drm_backend() return the primary backend | Simon Ser | |
We'll need this in the next commit. | |||
2024-01-25 | backend/multi: emit destroy signal before destroying child backends | Simon Ser | |
Some users might want to destroy the multi backend when a child backend is being destroyed. However, they can't destroy the multi backend if it's already in the process of being destroyed. The destroy signal was changed to be emitted after destroying child backends in babdd6ccf757 ("backend: fix use-after-free when destroying backends"). However, this was done to accomodate for an old "output_remove" event on backends, which has long been dropped in favor of wlr_output.events.destroy. This patch follows the same principle as 5d639394f3e8 ("types/output: emit destroy event before destroying global"). | |||
2024-01-25 | Fix disappearing menus in QT apps | Sarunas Valaskevicius | |
A motivating example of such problem - Zoom's popups that open on button presses. Before this fix the popup would flicker and immediately disappear - because the PID is not yet available for the verification (as the surface has not been associated yet), wlroots would refuse to focus the popup and instead focus the previous window. This leads QT to interpret this as a sign to close the popup. This change moves the PID aqcuisition to an earlier phase - just where the window is created. | |||
2024-01-24 | output: Drop pending state | Alexander Orzechowski | |
2024-01-24 | xwayland/xwm: associate even on xcb_get_property() failure | Kirill Primak | |
This matches the behavior before f5797be8a8d410e22fa6397b2217a6a81858d05c. | |||
2024-01-23 | backend/wayland: populate pointer axis relative direction | Simon Ser | |
2024-01-23 | backend/libinput: populate pointer axis relative direction | Simon Ser | |
2024-01-23 | seat/pointer: add support for axis_relative_direction event | Simon Ser | |
2024-01-23 | pointer: add support for axis relative direction | Simon Ser | |
2024-01-22 | xdg-shell: assert that configure events carry positive or zero sizes | Simon Ser | |
Negative values here would indicate a compositor bug. For xdg_popup, zero values are not allowed. | |||
2024-01-22 | layer-shell: forbid set_size with values ≥INT32_MAX | Kirill Primak | |
2024-01-18 | single-pixel-buffer: send wl_buffer.release | Kirill Primak | |
2024-01-17 | security-context-v1: fix possible leaks on wl_client_create() and state ↵ | Kirill Primak | |
copying errors | |||
2024-01-17 | xwayland: close pipe fds on set_cloexec() error | Kirill Primak | |
2024-01-17 | backend/x11: handle touchpoint allocation failure | Kirill Primak | |
2024-01-17 | render/drm_format_set: fix possible leak on realloc error | Kirill Primak | |
2024-01-17 | render/vulkan: fix possible double free | Kirill Primak | |
2024-01-17 | keyboard: fix type of wlr_keyboard_modifiers.group | Isaac Freund | |
This isn't a breaking change since both of these typedefs are uint32_t but this should make things a bit less confusing for readers. | |||
2024-01-09 | tinywl: depend on the server xdg-shell header | Kirill Primak | |
2024-01-07 | fix outdated comment in wlr_output.h | MaxVerevkin | |
2024-01-04 | Fix bool return types | Simon Ser | |
This makes wlroots build in C23 mode. C23 is more strict and rejects implicit conversions from bool to a pointer. | |||
2024-01-03 | render: stop auto-creating wl_drm | Simon Ser | |
wl_drm is a legacy interface superseded by the linux-dmabuf protocol. All clients should migrate. As a first step, stop creating the wl_drm global by default. This should let us discover any remaining issues in clients. Compositors can still manually create the global if they want to. As a second step, we can completely drop our implementation. | |||
2024-01-03 | wl_drm: add deprecation notice | Simon Ser | |
2024-01-03 | region: add docs for wlr_region_scale_xy() and wlr_region_confine() | Simon Ser | |
2023-12-30 | backend/drm: save current refresh rate | Simon Ser | |
wlr_output.refresh is populated by core wlr_output, and thus will be zero for a custom mode with an unset refresh rate. Save the refresh rate from the drmModeModeInfo in wlr_drm_connector instead. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3791 | |||
2023-12-27 | scene: drop wlr_scene_set_presentation() | Simon Ser | |
2023-12-27 | presentation-time: drop wlr_presentation arg | Simon Ser | |
There can only be a single presentation-time global advertised to clients, this it's unnecessary to pass around the wlr_presentation pointer. | |||
2023-12-25 | tearing-control-v1: synchronize state with surface | Simon Ser | |
2023-12-25 | session-lock-v1: use wlr_surface_synced | Simon Ser | |
2023-12-25 | session-lock-v1: drop negative buffer size checks | Simon Ser | |
The buffer size will never be negative, and the negative checks are distracting from the real checks here. | |||
2023-12-25 | content-type-v1: use wlr_surface_synced | Simon Ser | |
2023-12-25 | pointer-constraints-v1: use wlr_surface_synced | Simon Ser | |
2023-12-25 | layer-shell-v1: use wlr_surface_synced | Simon Ser | |
2023-12-25 | xdg-decoration: use wlr_surface_synced for toplevel | Simon Ser | |
2023-12-25 | subcompositor: use wlr_surface_synced | Simon Ser | |
2023-12-25 | presentation-time: use wlr_surface_synced | Simon Ser | |
2023-12-25 | xdg-shell: use wlr_surface_synced for popups | Simon Ser | |
2023-12-25 | xdg-shell: use wlr_surface_synced for toplevel | Simon Ser | |
2023-12-25 | xdg-shell: use wlr_surface_synced for wlr_xdg_surface | Simon Ser | |
2023-12-25 | compositor: add wlr_surface_role.client_commit | Simon Ser | |
2023-12-25 | compositor: add wlr_surface_synced | Simon Ser | |
A lot of protocols extend the wl_surface state. Such protocols need to synchronize their extended state with wl_surface.commit and cached states. Add a new utility for this purpose. | |||
2023-12-25 | compositor: add wlr_surface_state_has_buffer() | Simon Ser | |
2023-12-25 | compositor: fix wlr_surface_has_buffer() doc comment | Simon Ser | |
The function does not check whether the upload succeeded: it does not check the wlr_client_buffer. | |||
2023-12-25 | compositor: remove unnecessary wlr_surface.has_buffer | Simon Ser | |
No need to store this bit, we can infer it from buffer_width and buffer_height. | |||
2023-12-25 | compositor: adjust surface_state_move() comment | Simon Ser | |