Fix for window activation

This commit is contained in:
Ian Douglas Scott 2023-01-05 18:24:35 -08:00
parent 61726ad3cc
commit 65f7052d8b
2 changed files with 3 additions and 1 deletions

View file

@ -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?

View file

@ -402,6 +402,7 @@ fn start() -> mpsc::Receiver<Event> {
};
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(),
));