Crate portal_screencast[−][src]
XDG ScreenCast Portal utilities
This module defines an interface for interacting with the ScreenCast portal.
The general interaction pattern with the ScreenCast
portal is to open a
session, set which source types are of interest, and call start()
.
let screen_cast = ScreenCast::new()?.start(None)?;
In more complex cases you can modify the ScreenCast
before starting it:
let mut screen_cast = ScreenCast::new()?; // Set which source types to allow, and enable multiple items to be shared. screen_cast.set_source_types(SourceType::MONITOR); screen_cast.enable_multiple(); // If you have a window handle you can tie the dialog to it let screen_cast = screen_cast.start(Some("wayland:<window_id>"))?;
Structs
ActiveScreenCast | An active ScreenCast session. This holds a file descriptor for connecting to PipeWire along with metadata for the active streams. |
ScreenCast | An un-opened screencast session. This can be queried fro the supported
capture source types, and used to configure which source types to prompt
for. Each |
ScreenCastStream | |
SourceType |
Enums
PortalError | Desktop portal error. This could be an error from the underlying |