Commit graph

19 commits

Author SHA1 Message Date
Ian Douglas Scott
89910b8e75 Use double-buffering for screencopy
Currently this is unnecesssary, but it's needed if we use subsurfaces
(or import) instead of immedaitely converting to an image.
2024-01-25 15:58:34 -08:00
Ian Douglas Scott
6262329635 Clean up some of the screencopy code 2024-01-25 15:48:40 -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
43e9ef390a Move attach_buffer_and_commit 2024-01-24 16:07:00 -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
Ian Douglas Scott
5269356089 Use Weak<Capture> in session state 2024-01-24 13:59:18 -08:00
Ian Douglas Scott
80e4fb0227 Work around panic 2023-12-12 11:59:32 -08:00
Ian Douglas Scott
c939486ce6 Fix a panic 2023-12-06 15:35:25 -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
c567cb30d3 Move Bufffer::new to AppData::create_buffer
Will be needed to add support for dmabuf buffers. Also slightly cleaner
in general.
2023-11-08 15:05:45 -08:00
Ian Douglas Scott
b1d986ee71 Remove workaround for compositor issue that should be fixed 2023-11-08 14:09:34 -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
4e2ef433fd Handle global workspaces 2023-03-22 10:03:18 -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