Fix refresh_focus
This commit is contained in:
parent
32805d8ee0
commit
a11c3e8f67
5 changed files with 35 additions and 3 deletions
|
|
@ -216,9 +216,24 @@ impl Common {
|
|||
continue; // Focus is valid,
|
||||
}
|
||||
}
|
||||
KeyboardFocusTarget::Popup(_) | KeyboardFocusTarget::Fullscreen(_) => {
|
||||
continue;
|
||||
} // Focus is valid
|
||||
KeyboardFocusTarget::Fullscreen(surface) => {
|
||||
let workspace = state.common.shell.active_space(&output);
|
||||
let focus_stack = workspace.focus_stack.get(&seat);
|
||||
|
||||
if focus_stack
|
||||
.last()
|
||||
.map(|m| m.has_active_window(&surface))
|
||||
.unwrap_or(false)
|
||||
&& workspace.get_fullscreen(&output).is_some()
|
||||
{
|
||||
continue; // Focus is valid
|
||||
} else {
|
||||
trace!("Wrong Window, focus fixup");
|
||||
}
|
||||
}
|
||||
KeyboardFocusTarget::Popup(_) => {
|
||||
continue; // Focus is valid
|
||||
}
|
||||
};
|
||||
} else {
|
||||
trace!("Surface dead, focus fixup");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue