Use scap library to implement screensharing on X11 (#27807)

While `scap` does have support for Wayland and Windows, but haven't seen
screensharing work properly there yet. So for now just adding support
for X11 screensharing.

WIP branches for enabling wayland and windows support:

* https://github.com/zed-industries/zed/tree/wayland-screenshare
* https://github.com/zed-industries/zed/tree/windows-screenshare


Release Notes:

- Added support for screensharing on X11 (Linux)

---------

Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
Co-authored-by: Junkui Zhang <364772080@qq.com>
This commit is contained in:
Michael Sloan
2025-04-04 21:31:03 +00:00
committed by GitHub
co-authored by Conrad Mikayla Junkui Zhang
parent 7bc62de267
commit c2afc2271b
20 changed files with 624 additions and 49 deletions
-12
View File
@@ -4423,18 +4423,6 @@ impl Workspace {
None
}
#[cfg(target_os = "windows")]
fn shared_screen_for_peer(
&self,
_peer_id: PeerId,
_pane: &Entity<Pane>,
_window: &mut Window,
_cx: &mut App,
) -> Option<Entity<SharedScreen>> {
None
}
#[cfg(not(target_os = "windows"))]
fn shared_screen_for_peer(
&self,
peer_id: PeerId,