Commit graph

27 commits

Author SHA1 Message Date
Ian Douglas Scott
170e102275 Use Cmd instead of sending more wayland objects to frontend
This isn't needed now that the workspaces view is persistent (before, it
was necessary to make sure activation requests are flushed before
closing).

This is easier to spoof, for testing.
2024-04-23 11:54:05 -07:00
Ian Douglas Scott
bf2cd273f9 Add a no-subsurfaces feature for debugging 2024-04-01 15:13:51 -07:00
Ian Douglas Scott
094c28e105 cosmic-screencopy-v2 2024-03-25 10:24:47 -07:00
Ian Douglas Scott
7106001179 Address various warnings 2024-03-05 12:25:20 -08:00
Ian Douglas Scott
78b7bfe957 Use Wayland subsurfaces, dmabuf screencopy
More efficient than shm screencopy, and rendering an iced image into the
window. Done right, should espeically help with multiple GPUs, but more
testing and work is needed there.

Removes mmapping of dmabuf, which errored... I guess not allocated with
right options for that. Relevant only if we want a fallback/test that
involves reading dmabufs.

Using `OnDamage` doesn't seem to work correctly currently. Likely a
compositor issue.
2024-03-01 14:35:19 -08:00
Ian Douglas Scott
1bfcd50383 Update calloop, libcosmic, etc. 2024-03-01 13:07:37 -08:00
Ian Douglas Scott
01a64b11fa Add scheduler for async in wayland thread 2024-01-25 17:06:28 -08:00
Ian Douglas Scott
13b565e013 Add a ScreencopySession type
Allows cleaning up some of the relationship between `screencopy.rs` and
`capture.rs`, and groups variables that go together and are set to `Some`/`None`
together.

Should help for adding double buffering.
2024-01-25 15:44:30 -08:00
Ian Douglas Scott
6f1b391b00 Destroy screencopy session when not capturing 2024-01-24 15:59:18 -08:00
Ian Douglas Scott
14d2a66c9d Re-use screencopy session instead of creating one each frame 2024-01-24 15:29:03 -08:00
Ashley Wulber
791441ca10 refactor: single instance 2023-11-21 19:26:12 -05:00
Ian Douglas Scott
0c19ea7167 Add CaptureImage type 2023-11-16 19:38:42 -08:00
Ian Douglas Scott
39401bf3c3 screencopy: Pass the node we're using to attach_buffer
Seems to make sure the compositor renders workspace with that GPU, so it
actually captures successfully.
2023-11-09 13:45:28 -08:00
Ian Douglas Scott
6fc90b6f2c Open GBM main device
Not yet used.
2023-11-08 14:54:42 -08:00
Ian Douglas Scott
9a822bd76d Add dmabuf protocol handler
Not used yet.
2023-11-08 14:32:33 -08:00
Ian Douglas Scott
9598a9f8e4 Use WlOutput instead of output names for matching
With a shared wayland connection between the code here and iced, if we
don't bind outputs outselves, we can have `WlOutput`s that match.

This simplifies things.
2023-11-08 13:59:53 -08:00
Ian Douglas Scott
96cd334b81 Share wayland connection with iced-sctk instead of creating new one 2023-11-08 13:31:13 -08:00
Ian Douglas Scott
01b007ef83 Update dependencies 2023-11-03 13:06:43 -07:00
Ian Douglas Scott
970b07fa58 Fix panic in background thread 2023-07-20 15:42:32 -07:00
Ian Douglas Scott
078fc31713 Update libcosmic/iced for advanced text rebase 2023-05-12 13:25:19 -07:00
Ian Douglas Scott
4e2ef433fd Handle global workspaces 2023-03-22 10:03:18 -07:00
Ian Douglas Scott
69a877894a Update dependencies 2023-03-16 14:08:20 -07:00
Ian Douglas Scott
4ca7c9fb56 Handle toplevel info updates 2023-02-10 13:41:08 -08:00
Ian Douglas Scott
b5931cd240 Initial support for filtering what to capture to only what's needed 2023-02-10 10:12:26 -08:00
Ian Douglas Scott
b29f1149a4 Split up wayland code into more files 2023-02-09 16:04:36 -08:00
Ian Douglas Scott
a5b78a4300 Clippy fixes 2023-02-09 14:29:34 -08:00
Ian Douglas Scott
8c690e9648 Split wayland buffer code into a file 2023-02-09 14:10:31 -08:00
Renamed from src/wayland.rs (Browse further)