seat: add focus history
This commit is contained in:
parent
9941263a82
commit
d12234b38b
21 changed files with 546 additions and 22 deletions
|
|
@ -28,14 +28,16 @@ pub struct DisplayNode {
|
|||
|
||||
impl DisplayNode {
|
||||
pub fn new(id: NodeId) -> Self {
|
||||
Self {
|
||||
let slf = Self {
|
||||
id,
|
||||
extents: Default::default(),
|
||||
outputs: Default::default(),
|
||||
stacked: Default::default(),
|
||||
stacked_above_layers: Default::default(),
|
||||
seat_state: Default::default(),
|
||||
}
|
||||
};
|
||||
slf.seat_state.disable_focus_history();
|
||||
slf
|
||||
}
|
||||
|
||||
pub fn clear(&self) {
|
||||
|
|
|
|||
|
|
@ -324,6 +324,10 @@ impl Node for WorkspaceNode {
|
|||
fn node_do_focus(self: Rc<Self>, seat: &Rc<WlSeatGlobal>, direction: Direction) {
|
||||
if let Some(fs) = self.fullscreen.get() {
|
||||
fs.node_do_focus(seat, direction);
|
||||
} else if self.stacked.is_not_empty()
|
||||
&& let Some(last) = seat.get_last_focus_on_workspace(&self)
|
||||
{
|
||||
seat.focus_node(last);
|
||||
} else if let Some(container) = self.container.get() {
|
||||
container.node_do_focus(seat, direction);
|
||||
} else if let Some(float) = self
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue