Deduplicate output attach on init and log attached output name
This commit is contained in:
+10
-7
@@ -168,14 +168,11 @@ pub fn run(
|
|||||||
let is_all = target_output == "all" || target_output == "*";
|
let is_all = target_output == "all" || target_output == "*";
|
||||||
|
|
||||||
if is_all {
|
if is_all {
|
||||||
let wl_outputs: Vec<_> = state.output_state.outputs().collect();
|
// OutputHandler::new_output already attached one layer per existing
|
||||||
if wl_outputs.is_empty() {
|
// output during the roundtrip above. Only fall back to a compositor-
|
||||||
// No outputs reported yet; let the compositor assign.
|
// assigned surface if none arrived.
|
||||||
|
if state.outputs.is_empty() {
|
||||||
state.attach_output(&qh, None);
|
state.attach_output(&qh, None);
|
||||||
} else {
|
|
||||||
for wl_out in &wl_outputs {
|
|
||||||
state.attach_output(&qh, Some(wl_out));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let wl_out = find_output(&state.output_state, &target_output);
|
let wl_out = find_output(&state.output_state, &target_output);
|
||||||
@@ -343,6 +340,12 @@ impl OutputHandler for AppState {
|
|||||||
output: wl_output::WlOutput,
|
output: wl_output::WlOutput,
|
||||||
) {
|
) {
|
||||||
if self.target_output == "all" || self.target_output == "*" {
|
if self.target_output == "all" || self.target_output == "*" {
|
||||||
|
let name = self
|
||||||
|
.output_state
|
||||||
|
.info(&output)
|
||||||
|
.and_then(|i| i.name)
|
||||||
|
.unwrap_or_else(|| "<unnamed>".into());
|
||||||
|
log::info!("attaching output: {}", name);
|
||||||
self.attach_output(qh, Some(&output));
|
self.attach_output(qh, Some(&output));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user