alt-tab preview: restore functionality after move to scene-graph

This commit is contained in:
Consolatis 2022-04-26 23:56:27 +02:00
parent 296e58079f
commit 15a5b710db
7 changed files with 98 additions and 4 deletions

View file

@ -1,7 +1,17 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <wlr/types/wlr_scene.h>
struct wlr_scene_node;
struct wlr_scene_rect;
struct wlr_scene_tree;
struct wlr_surface;
struct wlr_scene_rect *lab_wlr_scene_get_rect(struct wlr_scene_node *node);
struct wlr_scene_tree *lab_scene_tree_from_node(struct wlr_scene_node *node);
struct wlr_surface *lab_wlr_surface_from_node(struct wlr_scene_node *node);
/**
* lab_get_prev_node - return previous (sibling) node
* @node: node to find the previous node from
* Return NULL if previous link is list-head which means node is bottom-most
*/
struct wlr_scene_node *lab_wlr_scene_get_prev_node(struct wlr_scene_node *node);

View file

@ -233,6 +233,7 @@ struct server {
/* Set when in cycle (alt-tab) mode */
struct osd_state {
struct view *cycle_view;
bool preview_was_enabled;
struct wlr_scene_node *preview_node;
struct wlr_scene_node *preview_anchor;
} osd_state;
@ -577,9 +578,12 @@ void server_init(struct server *server);
void server_start(struct server *server);
void server_finish(struct server *server);
/* update onscreen display 'alt-tab' buffer */
void osd_finish(struct server *server);
/* Updates onscreen display 'alt-tab' buffer */
void osd_update(struct server *server);
/* Closes the OSD */
void osd_finish(struct server *server);
/* Moves preview views back into their original stacking order and state */
void osd_preview_restore(struct server *server);
/*
* wlroots "input inhibitor" extension (required for swaylock) blocks