diff --git a/src/main.rs b/src/main.rs index 9b151a4..fc2e194 100644 --- a/src/main.rs +++ b/src/main.rs @@ -191,6 +191,7 @@ impl Application for App { self.layer_surface_for_output_name(output_name.as_deref()) { surface.active_workspace = Some(workspace.handle.clone()); + // XXX } } @@ -246,7 +247,7 @@ impl Application for App { if let Some(toplevel_manager) = self.toplevel_manager.as_ref() { if !self.seats.is_empty() { for seat in &self.seats { - toplevel_manager.activate(&toplevel_handle, todo!()); + toplevel_manager.activate(&toplevel_handle, &seat); self.conn.as_ref().unwrap().flush(); } std::process::exit(0); // Can we assume flush is suficient to ensure this takes effect? diff --git a/src/wayland.rs b/src/wayland.rs index 61b6a91..967a7a8 100644 --- a/src/wayland.rs +++ b/src/wayland.rs @@ -402,6 +402,7 @@ fn start() -> mpsc::Receiver { }; app_data.send_event(Event::Connection(conn)); + app_data.send_event(Event::Seats(app_data.seat_state.seats().collect())); app_data.send_event(Event::ToplevelManager( app_data.toplevel_manager_state.manager.clone(), ));