mirror of
https://github.com/swaywm/sway.git
synced 2026-04-18 06:46:56 -04:00
scene_graph: Port xdg_shell
This commit is contained in:
parent
08c484f46f
commit
b38ed8b479
6 changed files with 81 additions and 372 deletions
|
|
@ -80,6 +80,7 @@ struct sway_node *node_at_coords(
|
|||
while (true) {
|
||||
struct sway_container *con = scene_descriptor_try_get(current,
|
||||
SWAY_SCENE_DESC_CONTAINER);
|
||||
|
||||
if (!con) {
|
||||
struct sway_view *view = scene_descriptor_try_get(current,
|
||||
SWAY_SCENE_DESC_VIEW);
|
||||
|
|
@ -88,12 +89,18 @@ struct sway_node *node_at_coords(
|
|||
}
|
||||
}
|
||||
|
||||
if (con) {
|
||||
if (!con->view || con->view->surface) {
|
||||
return &con->node;
|
||||
if (!con) {
|
||||
struct sway_xdg_popup *popup =
|
||||
scene_descriptor_try_get(current, SWAY_SCENE_DESC_POPUP);
|
||||
if (popup) {
|
||||
con = popup->view->container;
|
||||
}
|
||||
}
|
||||
|
||||
if (con && (!con->view || con->view->surface)) {
|
||||
return &con->node;
|
||||
}
|
||||
|
||||
if (scene_descriptor_try_get(current, SWAY_SCENE_DESC_LAYER_SHELL)) {
|
||||
// We don't want to feed through the current workspace on
|
||||
// layer shells
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue