refactor: dynamic output configuration
This commit is contained in:
parent
99cc97b0d9
commit
a8aeba8f09
6 changed files with 197 additions and 239 deletions
|
|
@ -262,7 +262,12 @@ pub fn init_backend(event_loop: &mut EventLoop<State>, state: &mut State) -> Res
|
|||
state
|
||||
.common
|
||||
.shell
|
||||
.map_output(&output, &mut state.backend, &mut state.common.config);
|
||||
.add_output(&output);
|
||||
state.common.config.read_outputs(std::iter::once(&output), &mut state.backend, &mut state.common.shell);
|
||||
state.common.shell.refresh_outputs();
|
||||
state.common.config.write_outputs(std::iter::once(&output));
|
||||
|
||||
|
||||
|
||||
event_loop
|
||||
.handle()
|
||||
|
|
@ -286,10 +291,8 @@ pub fn init_backend(event_loop: &mut EventLoop<State>, state: &mut State) -> Res
|
|||
.surfaces
|
||||
.retain(|s| s.window.id() != window_id);
|
||||
for output in outputs_removed.into_iter() {
|
||||
state.common.shell.unmap_output(
|
||||
state.common.shell.remove_output(
|
||||
&output,
|
||||
&mut state.backend,
|
||||
&mut state.common.config,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -327,6 +330,7 @@ pub fn init_backend(event_loop: &mut EventLoop<State>, state: &mut State) -> Res
|
|||
.common
|
||||
.output_conf
|
||||
.update(&mut *state.common.display.borrow_mut());
|
||||
state.common.shell.refresh_outputs();
|
||||
surface.dirty = true;
|
||||
if !surface.pending {
|
||||
surface.render.ping();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue