porttyd 0.2.0

xdg-desktop-portal backend daemon for TTY sessions
#![feature(linux_pidfd)]
#![feature(unix_mkfifo)]

mod config;
mod daemon_socket;
mod dbus;
mod portal;
mod server;
mod session;

use config::Config;
use futures_lite::future;
use server::Daemon;
use tracing::info;
use tracing_subscriber::EnvFilter;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    tracing_subscriber::fmt()
        .with_env_filter(EnvFilter::from_default_env().add_directive("porttyd=info".parse()?))
        .init();

    future::block_on(async {
        info!("Starting xdg-desktop-portal-tty...");

        let config = Config::load();
        info!(?config, "Config loaded");

        Daemon::new(config).run().await?;

        Ok(())
    })
}