Commit Graph

1267 Commits

Author SHA1 Message Date
Christian Meissl a22b211e29 move the duplicate xdg state handling to...
...the base macro implementation
2021-11-24 16:57:04 +01:00
Christian Meissl 4849ae3b4a use the last configured decoration mode...
...to check for decoration mode changes instead
of the current decoration mode
2021-11-24 16:57:04 +01:00
Christian Meissl 29010d93a4 use the last pending server state...
...or last acked if available instead of the current state
2021-11-24 16:57:04 +01:00
i509VCB e4891b0c9e
egl: Introduce EGLDevice
More specifically, this introduces a way to query the available EGL devices on a system, `EGLDevices::enumerate`.
Also this introduces a way to get the `EGLDevice` used by an `EGLDisplay`, `EGLDevice::device_for_display`

Co-authored-by: Drakulix <github@drakulix.de>
2021-11-23 10:52:02 -06:00
Victor Brekenfeld 8bf7d91f98
backend/drm: Do not open new file descriptors in `DrmNode`
`DrmNode` was made to manage open drm nodes (including render nodes)
without having to create a `DrmDevice`. Even if opening render nodes
*should* work in general on most systems, the user should be in charge
of opening device, because they *may* want to use a `Session` or
something else. Therefor remove all `open` calls from drm/node.

The X11-backend, which tries to optain a render node, now opens the
render node itself, if getting a path proves to be successful.
2021-11-23 10:09:48 -06:00
i509VCB 2e06ff480f actions: ensure check-minimal fails on warnings 2021-11-23 14:45:38 +01:00
i509VCB 7b1c0501f3 clean up warnings from github 2021-11-23 14:45:38 +01:00
i509VCB d1fae4ba4e
Merge branch 'master' into input/remove-dispatch-new 2021-11-22 18:19:46 +00:00
Victor Brekenfeld 2db2611817 wlcs_anvil: Adjust dummy renderer for changes 2021-11-22 16:38:31 +01:00
Victor Brekenfeld 87069f26e9 renderer: rename function parameters for clearer purpose 2021-11-22 16:38:31 +01:00
Victor Brekenfeld 011a7da665 renderer: Remove render_texture from Frame 2021-11-22 16:38:31 +01:00
Victor Brekenfeld 7a7f1217d8 renderer: Allow to set texture filtering methods 2021-11-22 16:38:31 +01:00
Christian Duerr 076f824431 Add version method to ToplevelSurface
Currently the `shell_surface` is not accessible to the outside, meaning
there is no way to query for the XDG shell protocol version supported by
the client.

Adding a `version` method fixes that problem, which allows compositors
to act differently based on the supported protocol version. As an
example this allows setting the state to `State::Maximized` if the
tiling states are not available.
2021-11-22 15:28:09 +01:00
Adrien 4dec5f7fa2 Fixed a typo in the lib.rs docs. 2021-11-22 15:27:57 +01:00
i509VCB 5210b39c35 anvil: deduplicate some input handler logic 2021-11-22 15:27:42 +01:00
i509VCB d00197052c x11: add option to make extensions optional 2021-11-22 15:26:52 +01:00
Christian Duerr 0d2c3acdc7 Add debug assertion 2021-11-22 15:25:47 +01:00
Christian Duerr d46be20d6e Add SubAssign for Size 2021-11-22 15:25:47 +01:00
Victor Brekenfeld 0ea8899dcf
Merge pull request #409 from Smithay/drm/non-alpha-primary
gbm: use Xrgb8888, if alpha variant is not available
2021-11-16 09:05:39 +01:00
Victor Brekenfeld cf6f7a0726 gbm: use Xrgb8888, if alpha variant is not available 2021-11-04 19:13:57 +01:00
i509VCB 8ca5d1f301 input: remove `InputBackend::dispatch_new_events` 2021-10-28 15:37:02 -05:00
i509VCB 1a1fe01349 docs: include x11rb in generation 2021-10-28 16:39:52 +02:00
Victor Brekenfeld b890bfd768
Merge pull request #365 from i509VCB/mouse-f/b 2021-10-27 20:03:13 +02:00
i509VCB 3283010d2c Add Forward/Back mouse buttons 2021-10-27 12:23:12 -05:00
i509VCB e1400a1926 Mention where keyboard key code constants may be found 2021-10-27 12:23:07 -05:00
Poly 63f9a713ce Clippy fixes 2021-10-27 14:18:52 +02:00
Poly 67ed81a00c Anvil XDG Decoration 2021-10-27 14:18:52 +02:00
Poly 10aee60b87 wayland.xdg-decor: Implement XDG Decoration protocol 2021-10-27 14:18:52 +02:00
i509VCB 77c970e197 winit: rework around `WinitEvent` vs `InputEvent<Special = WinitEvent>` 2021-10-27 14:16:19 +02:00
Victor Berger d5f4094cc7 ci: update doc-generating command 2021-10-27 14:15:19 +02:00
Victor Brekenfeld 3dde8d70ef Update to input-rs 0.7 2021-10-23 22:49:32 +02:00
Victor Brekenfeld 14a4bb25db
Merge pull request #402 from Smithay/fix/trailing_semicolon
Fix trailing_semicolon on egl macro
2021-10-23 15:58:19 +02:00
Victor Brekenfeld 2aedeead7d Fix clippy needless_return 2021-10-23 15:34:50 +02:00
Victor Brekenfeld af8863578e Fix trailing_semicolon on egl macro 2021-10-23 15:24:55 +02:00
Victor Berger 121014a9eb compositor.cache: fix MultiCache::has() 2021-10-18 19:33:49 +02:00
Victor Brekenfeld 7ad40d3f3a
Merge pull request #371 from i509VCB/x-client 2021-10-18 18:44:51 +02:00
i509VCB 2e68cfda5a X11 backend 2021-10-17 13:46:15 -05:00
i509VCB 953d9ce158 Implement `Hash` on some enums in `backend::input` 2021-10-17 13:46:07 -05:00
i509VCB c8d56f1cf3 Move X11Source to smithay under`x11rb_event_source` feature 2021-10-17 13:46:07 -05:00
i509VCB 4d93805814 Add `DrmNode` to `backend::drm`. 2021-10-17 13:46:07 -05:00
i509VCB d041e5cdf6 anvil: Derive missing `fmt::Debug` 2021-10-17 13:46:07 -05:00
Poly d7b23c3271 Update CHANGELOG 2021-10-16 19:33:15 +02:00
Poly 8114bac8fd Remove XDG Shell V6 2021-10-16 19:33:15 +02:00
Demi Marie Obenour a9f1188fea Add missing check for dead surfaces
Previously a pointer.leave event would be sent with a NULL target,
causing the client to disconnect.
2021-10-16 13:32:03 +02:00
i509VCB fdaf1859b0 anvil: Pass window and output maps using dispatch data AnvilState 2021-10-16 13:14:46 +02:00
Victor Brekenfeld 60fdbaebc5
Merge pull request #398 from i509VCB/anvil/mutex-log
anvil: Passing `ANVIL_MUTEX_LOG` uses Mutex logging drain
2021-10-14 18:21:01 +02:00
i509VCB f5bf204454 anvil: Passing `ANVIL_MUTEX_LOG` uses Mutex logging drain
fmt...
2021-10-14 10:54:43 -05:00
Victor Brekenfeld dd6919dd5f
Merge pull request #385 from Smithay/feature/dmabuf_filter 2021-09-30 21:47:57 +02:00
Victor Brekenfeld bafc378181 wayland/dmabuf: Allow global creation with a client filter 2021-09-30 18:37:54 +02:00
Victor Berger 3842b78979 wayland.compositor: fix leak of surface data
The subsurface logic holds a self-reference to the WlSurface to
track stacking orders of the children relative to the parent. This
self-reference needs be dropped during cleanup to avoid reference
cycles.

This was not the case, and caused every surface user data to be
leaked as it kept a reference to itself (and all of its children).
2021-09-28 16:30:46 +02:00