desktop_node_and_view_at(): handle layer surfaces

+ Replace some tabs with spaces in include/node.h

Fixes: #278
This commit is contained in:
Consolatis 2022-05-24 19:51:15 +02:00 committed by Johan Malm
parent 499df78531
commit 3699a2a7f6
2 changed files with 9 additions and 4 deletions

View file

@ -29,10 +29,10 @@ struct node_descriptor {
* @scene_node: wlr_scene_node to attached node_descriptor to
* @type: node descriptor type
* @data: struct to point to as follows:
* - LAB_NODE_DESC_VIEW struct view
* - LAB_NODE_DESC_XDG_POPUP struct view
* - LAB_NODE_DESC_LAYER_SURFACE struct lab_layer_surface
* - LAB_NODE_DESC_LAYER_POPUP struct lab_layer_popup
* - LAB_NODE_DESC_VIEW struct view
* - LAB_NODE_DESC_XDG_POPUP struct view
* - LAB_NODE_DESC_LAYER_SURFACE struct lab_layer_surface
* - LAB_NODE_DESC_LAYER_POPUP struct lab_layer_popup
*/
void node_descriptor_create(struct wlr_scene_node *scene_node,
enum node_descriptor_type type, void *data);

View file

@ -294,6 +294,11 @@ desktop_node_and_view_at(struct server *server, double lx, double ly,
if (desc->type == LAB_NODE_DESC_XDG_POPUP) {
goto has_view_data;
}
if (desc->type == LAB_NODE_DESC_LAYER_SURFACE) {
/* FIXME: we shouldn't have to set *view_area */
*view_area = LAB_SSD_CLIENT;
return NULL;
}
if (desc->type == LAB_NODE_DESC_LAYER_POPUP) {
/* FIXME: we shouldn't have to set *view_area */
*view_area = LAB_SSD_CLIENT;