Commit Graph

1213 Commits

Author SHA1 Message Date
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
i509VCB 70c11e6c62 docs: Update calloop in CLI
This should hopefully fix the builds failing.
2021-09-23 10:08:39 +02:00
Victor Brekenfeld 7f0687cfc9
Merge pull request #380 from Smithay/feature/xcb_variants 2021-09-22 18:48:26 +02:00
Victor Brekenfeld 55eb73cb9e wayland/seat: add return value to `KeyboardHandle::input` 2021-09-19 17:10:08 +02:00
Victor Brekenfeld 90dd28c910 wayland/seat: Add `KeysymHandle` to allow for keycode conversions.
Currently keycodes are always converted using xkbcommons
`State::key_get_one_sym` function. This may be not what the compositor
wants, e.g. if it represents keybindings with explicit modifiers.
Applying Shift in this case changes the sym, making it necessary for
the compositor to *undo* this transformation, which is hard or even
impossible and very unnecessary, when we have all the necessary
information in smithay.

Therefor this commit replaces the `Keysym` argument of the filter
closure with a `KeysymHandle`, which allows for different variants of
keysyms to be received. Modified (as previously), unmodified or even
as a raw keycode.
2021-09-17 17:12:26 +02:00