1
0
Fork 0
forked from wry/wry

tree: make FindTreeUsecase handling more explicit

This commit is contained in:
Julian Orth 2025-12-16 20:39:21 +01:00
parent 867172f20b
commit 8d5ac9a2b7
5 changed files with 29 additions and 13 deletions

View file

@ -396,8 +396,10 @@ impl Node for Xwindow {
tree: &mut Vec<FoundNode>,
usecase: FindTreeUsecase,
) -> FindTreeResult {
if usecase == FindTreeUsecase::SelectToplevel {
return FindTreeResult::AcceptsInput;
match usecase {
FindTreeUsecase::None => {}
FindTreeUsecase::SelectToplevel => return FindTreeResult::AcceptsInput,
FindTreeUsecase::SelectWorkspace => return FindTreeResult::Other,
}
let rect = self.x.surface.buffer_abs_pos.get();
if x < rect.width() && y < rect.height() {

View file

@ -340,8 +340,10 @@ impl Node for XdgPopup {
tree: &mut Vec<FoundNode>,
usecase: FindTreeUsecase,
) -> FindTreeResult {
if usecase == FindTreeUsecase::SelectToplevel {
return FindTreeResult::Other;
match usecase {
FindTreeUsecase::None => {}
FindTreeUsecase::SelectToplevel => return FindTreeResult::Other,
FindTreeUsecase::SelectWorkspace => return FindTreeResult::Other,
}
self.xdg.find_tree_at(x, y, tree)
}

View file

@ -598,8 +598,10 @@ impl Node for XdgToplevel {
tree: &mut Vec<FoundNode>,
usecase: FindTreeUsecase,
) -> FindTreeResult {
if usecase == FindTreeUsecase::SelectToplevel {
return FindTreeResult::AcceptsInput;
match usecase {
FindTreeUsecase::None => {}
FindTreeUsecase::SelectToplevel => return FindTreeResult::AcceptsInput,
FindTreeUsecase::SelectWorkspace => return FindTreeResult::Other,
}
self.xdg.find_tree_at(x, y, tree)
}