portal-screencast 0.1.0

Rustic interface to the ScreenCast Desktop Portal
Documentation

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().

# use portal_screencast::{ScreenCast, PortalError};
# fn test() -> Result<(), PortalError> {
let screen_cast = ScreenCast::new()?.start(None)?;
# Ok(())
# }

In more complex cases you can modify the ScreenCast before starting it:

# use portal_screencast::{ScreenCast, PortalError, SourceType};
# fn test() -> Result<(), PortalError> {
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>"))?;
# Ok(())
# }