diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-02-01 16:55:46 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-02-01 16:55:46 +0400 |
| commit | 9afd728ae98059c9405fe2430399ecb89fd1a7a9 (patch) | |
| tree | 9907809ee2926e127dc722b2d681ca98b6633b9d /src/niri.rs | |
| parent | e51268a39eeffd56d016a8d25dc98a40ff045a9c (diff) | |
| download | niri-9afd728ae98059c9405fe2430399ecb89fd1a7a9.tar.gz niri-9afd728ae98059c9405fe2430399ecb89fd1a7a9.tar.bz2 niri-9afd728ae98059c9405fe2430399ecb89fd1a7a9.zip | |
Add error messages to backend initialization
Diffstat (limited to 'src/niri.rs')
| -rw-r--r-- | src/niri.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/niri.rs b/src/niri.rs index b2d583be..e880ffa8 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -298,7 +298,7 @@ impl State { event_loop: LoopHandle<'static, State>, stop_signal: LoopSignal, display: Display<State>, - ) -> Self { + ) -> Result<Self, Box<dyn std::error::Error>> { let _span = tracy_client::span!("State::new"); let config = Rc::new(RefCell::new(config)); @@ -307,15 +307,18 @@ impl State { env::var_os("WAYLAND_DISPLAY").is_some() || env::var_os("DISPLAY").is_some(); let mut backend = if has_display { - Backend::Winit(Winit::new(config.clone(), event_loop.clone())) + let winit = Winit::new(config.clone(), event_loop.clone())?; + Backend::Winit(winit) } else { - Backend::Tty(Tty::new(config.clone(), event_loop.clone())) + let tty = Tty::new(config.clone(), event_loop.clone()) + .context("error initializing the TTY backend")?; + Backend::Tty(tty) }; let mut niri = Niri::new(config.clone(), event_loop, stop_signal, display, &backend); backend.init(&mut niri); - Self { backend, niri } + Ok(Self { backend, niri }) } pub fn refresh_and_flush_clients(&mut self) { |
