Something went wrong. Try again.
dope ass quickshell bar
Something went wrong. Try again.
952 B · 38 lines
Rust
at main
123456789101112131415161718192021222324252627282930313233343536373839mod capture;mod cast_session;mod config;mod model;mod niri_ipc;mod publish;mod supervisor;mod window_registry;
use anyhow::Result;use clap::Parser;use tracing::info;
use crate::config::Config;
#[tokio::main]async fn main() -> Result<()> { tracing_subscriber::fmt::init(); let config = Config::parse().resolve()?; capture::init()?; let publisher = publish::Publisher::new(config.snapshot_dir.clone())?;
let server_publisher = publisher.clone(); let server_socket = config.socket.clone(); std::thread::Builder::new() .name("castd-api".into()) .spawn(move || { if let Err(error) = server_publisher.serve(&server_socket) { tracing::error!(?error, "publisher server stopped"); } })?; info!( fps = %config.fps, max_width = config.max_width, "niri-window-castd starting" ); supervisor::run(config, publisher).await}