diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2023-09-03 13:25:43 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2023-09-03 13:25:43 +0400 |
| commit | dcc6a557774c8af0dc62839308130ee6a71fc629 (patch) | |
| tree | a0b4ff5d064171da4cba46536876af844d018cc4 /src/main.rs | |
| parent | 73d7a1d73dac14bcff43a1d595847b7c0bf14ec7 (diff) | |
| download | niri-dcc6a557774c8af0dc62839308130ee6a71fc629.tar.gz niri-dcc6a557774c8af0dc62839308130ee6a71fc629.tar.bz2 niri-dcc6a557774c8af0dc62839308130ee6a71fc629.zip | |
Move LoopData into niri file
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 39 |
1 files changed, 2 insertions, 37 deletions
diff --git a/src/main.rs b/src/main.rs index 2e77fd42..c5912c6f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -15,11 +15,9 @@ mod utils; use std::env; use std::ffi::OsString; -use backend::{Backend, Tty, Winit}; use clap::Parser; -use niri::Niri; +use niri::{Data, Niri}; use smithay::reexports::calloop::EventLoop; -use smithay::reexports::wayland_server::Display; use tracing_subscriber::EnvFilter; #[derive(Parser)] @@ -30,15 +28,6 @@ struct Cli { command: Vec<OsString>, } -pub struct LoopData { - niri: Niri, - backend: Backend, - - // Last so that it's dropped after the Smithay state in Niri and related state in Tty. - // Otherwise it will segfault on quit. - display: Display<Niri>, -} - fn main() { env::set_var("RUST_BACKTRACE", "1"); @@ -54,31 +43,7 @@ fn main() { let _client = tracy_client::Client::start(); let mut event_loop = EventLoop::try_new().unwrap(); - - let has_display = env::var_os("WAYLAND_DISPLAY").is_some() || env::var_os("DISPLAY").is_some(); - - let backend = if has_display { - Backend::Winit(Winit::new(event_loop.handle())) - } else { - Backend::Tty(Tty::new(event_loop.handle())) - }; - - let mut display = Display::new().unwrap(); - let niri = Niri::new( - event_loop.handle(), - event_loop.get_signal(), - &mut display, - backend.seat_name(), - ); - - let mut data = LoopData { - niri, - display, - - backend, - }; - - data.backend.init(&mut data.niri); + let mut data = Data::new(event_loop.handle(), event_loop.get_signal()); if let Some((command, args)) = cli.command.split_first() { if let Err(err) = std::process::Command::new(command).args(args).spawn() { |
