aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-07-09 23:02:03 +0100
committeremersion <contact@emersion.fr>2018-07-15 19:30:19 +0100
commit16d7e09d996f7fd211e3a6ff8960a15217ca3710 (patch)
tree71e824840f52651e950e220a8005f80cbc655d0d /include
parent4984ea49eeaa292d66be9e535d93a4d8185f3e18 (diff)
surface: add wlr_surface_role.precommit
This allows to emit the unmap event before the surface becomes actually unmapped for most shells.
Diffstat (limited to 'include')
-rw-r--r--include/types/wlr_xdg_shell.h3
-rw-r--r--include/types/wlr_xdg_shell_v6.h3
-rw-r--r--include/wlr/types/wlr_surface.h1
3 files changed, 5 insertions, 2 deletions
diff --git a/include/types/wlr_xdg_shell.h b/include/types/wlr_xdg_shell.h
index 7a17d286..93fdc670 100644
--- a/include/types/wlr_xdg_shell.h
+++ b/include/types/wlr_xdg_shell.h
@@ -19,7 +19,8 @@ struct wlr_xdg_surface *create_xdg_surface(
uint32_t id);
void unmap_xdg_surface(struct wlr_xdg_surface *surface);
void destroy_xdg_surface(struct wlr_xdg_surface *surface);
-void handle_xdg_surface_committed(struct wlr_surface *wlr_surface);
+void handle_xdg_surface_commit(struct wlr_surface *wlr_surface);
+void handle_xdg_surface_precommit(struct wlr_surface *wlr_surface);
void create_xdg_positioner(struct wlr_xdg_client *client, uint32_t id);
struct wlr_xdg_positioner_resource *get_xdg_positioner_from_resource(
diff --git a/include/types/wlr_xdg_shell_v6.h b/include/types/wlr_xdg_shell_v6.h
index 030c10e4..59fca667 100644
--- a/include/types/wlr_xdg_shell_v6.h
+++ b/include/types/wlr_xdg_shell_v6.h
@@ -19,7 +19,8 @@ struct wlr_xdg_surface_v6 *create_xdg_surface_v6(
uint32_t id);
void unmap_xdg_surface_v6(struct wlr_xdg_surface_v6 *surface);
void destroy_xdg_surface_v6(struct wlr_xdg_surface_v6 *surface);
-void handle_xdg_surface_v6_committed(struct wlr_surface *wlr_surface);
+void handle_xdg_surface_v6_commit(struct wlr_surface *wlr_surface);
+void handle_xdg_surface_v6_precommit(struct wlr_surface *wlr_surface);
void create_xdg_positioner_v6(struct wlr_xdg_client_v6 *client, uint32_t id);
struct wlr_xdg_positioner_v6_resource *get_xdg_positioner_v6_from_resource(
diff --git a/include/wlr/types/wlr_surface.h b/include/wlr/types/wlr_surface.h
index 0e3b5ff4..ee9afa86 100644
--- a/include/wlr/types/wlr_surface.h
+++ b/include/wlr/types/wlr_surface.h
@@ -39,6 +39,7 @@ struct wlr_surface_state {
struct wlr_surface_role {
const char *name;
void (*commit)(struct wlr_surface *surface);
+ void (*precommit)(struct wlr_surface *surface);
};
struct wlr_surface {