1
0
Fork 0
forked from wry/wry

config: add focus-tiles action

This commit is contained in:
Julian Orth 2025-07-19 23:00:28 +02:00
parent bd85db5b59
commit 57a49d5299
11 changed files with 61 additions and 1 deletions

View file

@ -936,6 +936,32 @@ impl WlSeatGlobal {
);
}
pub fn focus_tiles(self: &Rc<Self>) {
let current = self.keyboard_node.get();
if matches!(
current.node_layer().layer(),
NodeLayer::Tiled | NodeLayer::Fullscreen,
) {
return;
}
let Some(output) = current.node_output() else {
return;
};
let Some(ws) = output.workspace.get() else {
return;
};
let node = match ws.fullscreen.get() {
Some(fs) => fs as Rc<dyn Node>,
_ => match ws.container.get() {
Some(c) => c,
_ => return,
},
};
if node.node_visible() && node.node_accepts_focus() {
node.node_do_focus(self, Direction::Unspecified);
}
}
fn set_selection_<T, X, S>(
self: &Rc<Self>,
field: &CloneCell<Option<Rc<dyn DynDataSource>>>,