Commit Graph

146 Commits

Author SHA1 Message Date
i509VCB 23a8af399d xdg-foreign
This is very much incomplete, but it implements the import and export of surfaces. However functions related to setting and imported surface the parent of another surface is not done.

importer destructor destroys all imports made from the same client 


Implement SetParentOf, no undoing yet


Add inner import type


Destroy child surface relationships when importing


A note


move init function upwards


use 0.29.0 crate


Move role string constants into the public


Use toplevel_like for surface checks in foreign


add methods to get the parent surface


Make sure ZXDG roles are public api


Consistent ordering of parameters on xdg_foreign impl methods


Let's update the changelog


Document how to use xdg_foreign


wl_shell_surface is likely invalid, so it cannot be imported or exported


Changelog suggestions


remove redundant inner ref cell


Remove all uses of the refcell like behavior


Allow compositor to export surfaces on server



Appease new clippy lints


then


Use string references and iterate in reverse to simplify removals


heed request for order
2021-07-31 11:40:24 +02:00
Victor Berger 963f742e74 Rework CI flow 2021-07-30 19:29:05 +02:00
Victor Berger 46209cfb38
v0.3.0 2021-07-25 11:46:06 +02:00
Victor Berger 07deba4c1b Documentation fixes in preparation for release 2021-07-25 11:19:09 +02:00
Victor Berger bdb257474d Main structure of WLCS integration. 2021-07-25 09:39:49 +02:00
Victor Berger 782b21f363 Update dependencies 2021-07-25 09:09:12 +02:00
Victor Brekenfeld 56f5557f8c anvil: Move import_bitmap into anvil 2021-07-13 23:21:08 +02:00
Victor Berger cb92938587 Update input dependency 2021-07-13 14:23:21 +02:00
Poly 1c9e3fe903 input: Add tablet events 2021-07-05 22:36:32 +02:00
Victor Berger b1b025992f Update calloop to 0.9 2021-07-05 21:40:50 +02:00
Poly 7114111ba5 Add `backend_session` feature to `backend_session_libseat` 2021-07-01 23:51:50 +02:00
Victor Berger ad55ab71c9 compositor: Introduce transaction state tracking
This changes the state handling logic of wl_surface to automatically
track subsurface pending in the form of transactions. The role enum
(and the associated type parameter) is no more, and replaced by a
general-purpose typemap-like container on surfaces.

The new logic is introduced in the files:

- `src/wayland/compositor/cache.rs`
- `src/wayland/compositor/transaction.rs`

The rest of the PR is the fallout of these changes, as well as a few
trivial clippy fixes.
2021-06-26 21:52:38 +02:00
Poly f9f77288c8
libseat support (#292) 2021-06-15 23:35:16 +02:00
Victor Berger 41c7b22cc4 doc: fix ci upload & broken links 2021-06-11 17:46:32 +02:00
Victor Brekenfeld 969cdda85c renderer: Split Renderer trait into Import sub-traits 2021-06-08 21:47:05 +02:00
Victor Berger 4bf6bfa08d anvil: reorganize platform-specific values 2021-06-03 11:45:22 +02:00
Victor Berger aaa6e625e9 Update to calloop 0.8, DrmDevice as an EventSource 2021-06-03 11:45:22 +02:00
Christian Meissl 3b387e52c7 disable default features in scan_fmt...
...removes regex dependency
2021-05-15 20:45:50 +02:00
Christian Meissl 3ceff8ec67 check for gl version in gles renderer...
...in case the version is greater or equal 3.0 the
check for GL_EXT_unpack_subimage is not needed
2021-05-15 20:41:44 +02:00
Victor Brekenfeld e490116d9a Use newer drm-fourcc version 2021-05-15 16:12:12 +02:00
Victor Brekenfeld c33ccde56d Move to stable drm-rs and gbm.rs versions 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 05f11cffeb examples: fix raw_drm 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 9d021d52a4 drm: expose supported plane formats 2021-05-15 16:12:12 +02:00
Victor Brekenfeld b7aa4c416b egl: enumerate supported dmabuf formats 2021-05-15 16:12:12 +02:00
Victor Brekenfeld 8fc23c767b Update to new drm-rs version and introduce drm-fourcc for formats 2021-05-15 16:12:12 +02:00
Victor Berger 991eba216d Update most dependencies 2021-02-22 20:27:46 +01:00
Uli Schlachter 734b541ecd Map between X11 Windows and WlSurfaces
Xwayland gives us a mapping between X11 window and WlSurface IDs via
special WL_SURFACE_ID messages. This commit uses these messages to find
the corresponding WlSurface. For this, the new client.get_resource API
from wayland-server is needed.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2021-02-19 11:38:17 +01:00
Victor Berger 8fde779806 Dependencies updates 2020-11-02 10:24:55 +01:00
Eric Anholt 78d28165c3
Update nix to 0.19 (#237) 2020-10-31 18:33:18 +01:00
Jonas Platte c4f64489e8 Update wayland-rs to 0.28 2020-09-16 12:56:32 +02:00
Victor Berger 737b1f00cf Dependecies update 2020-08-07 11:59:36 +02:00
Victor Berger 25365ed69a tempfile is only needed with wayland_frontend feature 2020-07-12 16:38:05 +02:00
Victor Berger b06aecf868 Disable image default features 2020-07-12 16:38:05 +02:00
Victor Berger 1871b5ddae Make slog-stdlog into an optional dependency
slog-stdlog has a significant dependency tree and is basically unsued if
the downstream crate of Smithay always provides a logger (like anvil),
so it is not really needed.
2020-07-12 16:38:05 +02:00
Hilmar Gústafsson e402af4855 Update dbus to 0.8.3
Older versions of dbus fail to compile due to API differences
2020-06-24 09:19:09 +02:00
Victor Brekenfeld 7b4459f649 drm: Make surfaces `Send` 2020-06-11 18:57:05 +02:00
Victor Berger c3859d999b backend.session: use pkg-config to find logind lib
Introduce the `backend_session_elogind` cargo feature which pulls
`backend_session_logind` and makes the logind session backend seek
`libelogind.so` instead of `libsystemd.so`.

Fixes #127
2020-05-23 21:37:22 +02:00
Victor Brekenfeld 69c1116d82 eglstream: initial backend implementation 2020-05-23 00:29:32 +02:00
Victor Berger b3aae074e4 Update calloop to 0.6 2020-04-28 11:13:25 +02:00
Victor Berger eddbe3c708 Update wayland-rs to 0.26 2020-04-28 11:13:25 +02:00
Victor Berger d2e77dca31 Alphabetically sort dependencies 2020-04-28 11:13:25 +02:00
Victor Brekenfeld 365b7e6496 drm: Add atomic modesetting support 2020-04-21 20:18:34 +02:00
Victor Brekenfeld 74187f55fc examples: move raw_drm to raw_legacy_drm 2020-04-21 20:18:34 +02:00
Victor Berger 8ab34f0081 Update dependencies. 2020-04-15 11:24:50 +02:00
Jonas Platte 6325c701d5
Remove dependency on wayland-client (#184) 2020-04-14 18:53:26 +02:00
Victor Brekenfeld b43c0db115 Update to udev 0.4 2020-04-13 17:07:08 +02:00
Victor Berger 6a7d933553 Replace `failure` and `error-chain` by `thiserror` 2020-04-13 13:20:59 +02:00
Sergey Smirnykh f966e28fe5
Update wayland-client & wayland-egl (#181)
Update wayland-client to 0.25.0
Add wayland-egl 0.25.0
2020-04-12 13:11:10 +02:00
Victor Brekenfeld e8e8667d89 Upgrade to the upcoming drm-rs 0.4 2020-04-10 16:58:49 +02:00
Sergey Smirnykh 73345375ac Update winit dependency to version 22.0 2020-04-08 15:21:17 +02:00