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(())
# }