Expand description
Open a URI or a directory.
Wrapper of the DBus interface: org.freedesktop.portal.OpenURI
.
§Examples
§Open a file
use std::{fs::File, os::fd::AsFd};
use ashpd::desktop::open_uri::OpenFileRequest;
async fn run() -> ashpd::Result<()> {
let file = File::open("/home/bilelmoussaoui/adwaita-day.jpg").unwrap();
OpenFileRequest::default()
.ask(true)
.send_file(&file.as_fd())
.await?;
Ok(())
}
§Open a file from a URI
use ashpd::desktop::open_uri::OpenFileRequest;
async fn run() -> ashpd::Result<()> {
let uri =
url::Url::parse("file:///home/bilelmoussaoui/Downloads/adwaita-night.jpg").unwrap();
OpenFileRequest::default().ask(true).send_uri(&uri).await?;
Ok(())
}
§Open a directory
use std::{fs::File, os::fd::AsFd};
use ashpd::desktop::open_uri::OpenDirectoryRequest;
async fn run() -> ashpd::Result<()> {
let directory = File::open("/home/bilelmoussaoui/Downloads").unwrap();
OpenDirectoryRequest::default()
.send(&directory.as_fd())
.await?;
Ok(())
}
Structs§
- A builder-pattern type to open a directory.
- A builder-pattern type to open a file.