aboutsummaryrefslogtreecommitdiff
path: root/src/niri.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-02-01 16:55:46 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-02-01 16:55:46 +0400
commit9afd728ae98059c9405fe2430399ecb89fd1a7a9 (patch)
tree9907809ee2926e127dc722b2d681ca98b6633b9d /src/niri.rs
parente51268a39eeffd56d016a8d25dc98a40ff045a9c (diff)
downloadniri-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.rs11
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) {