diff options
Diffstat (limited to 'include/sway/tree/view.h')
-rw-r--r-- | include/sway/tree/view.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index 4ecd8c44..144ad038 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h | |||
@@ -20,11 +20,15 @@ enum sway_view_prop { | |||
20 | VIEW_PROP_APP_ID, | 20 | VIEW_PROP_APP_ID, |
21 | VIEW_PROP_CLASS, | 21 | VIEW_PROP_CLASS, |
22 | VIEW_PROP_INSTANCE, | 22 | VIEW_PROP_INSTANCE, |
23 | VIEW_PROP_WINDOW_TYPE, | ||
24 | VIEW_PROP_WINDOW_ROLE, | ||
25 | VIEW_PROP_X11_WINDOW_ID, | ||
23 | }; | 26 | }; |
24 | 27 | ||
25 | struct sway_view_impl { | 28 | struct sway_view_impl { |
26 | const char *(*get_prop)(struct sway_view *view, | 29 | const char *(*get_string_prop)(struct sway_view *view, |
27 | enum sway_view_prop prop); | 30 | enum sway_view_prop prop); |
31 | uint32_t (*get_int_prop)(struct sway_view *view, enum sway_view_prop prop); | ||
28 | void (*configure)(struct sway_view *view, double ox, double oy, int width, | 32 | void (*configure)(struct sway_view *view, double ox, double oy, int width, |
29 | int height); | 33 | int height); |
30 | void (*set_activated)(struct sway_view *view, bool activated); | 34 | void (*set_activated)(struct sway_view *view, bool activated); |
@@ -52,6 +56,8 @@ struct sway_view { | |||
52 | enum sway_container_border border; | 56 | enum sway_container_border border; |
53 | int border_thickness; | 57 | int border_thickness; |
54 | 58 | ||
59 | list_t *executed_criteria; | ||
60 | |||
55 | union { | 61 | union { |
56 | struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6; | 62 | struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6; |
57 | struct wlr_xwayland_surface *wlr_xwayland_surface; | 63 | struct wlr_xwayland_surface *wlr_xwayland_surface; |
@@ -91,6 +97,9 @@ struct sway_xwayland_view { | |||
91 | struct wl_listener request_maximize; | 97 | struct wl_listener request_maximize; |
92 | struct wl_listener request_configure; | 98 | struct wl_listener request_configure; |
93 | struct wl_listener request_fullscreen; | 99 | struct wl_listener request_fullscreen; |
100 | struct wl_listener set_title; | ||
101 | struct wl_listener set_class; | ||
102 | struct wl_listener set_window_type; | ||
94 | struct wl_listener map; | 103 | struct wl_listener map; |
95 | struct wl_listener unmap; | 104 | struct wl_listener unmap; |
96 | struct wl_listener destroy; | 105 | struct wl_listener destroy; |
@@ -165,6 +174,10 @@ const char *view_get_class(struct sway_view *view); | |||
165 | 174 | ||
166 | const char *view_get_instance(struct sway_view *view); | 175 | const char *view_get_instance(struct sway_view *view); |
167 | 176 | ||
177 | uint32_t view_get_x11_window_id(struct sway_view *view); | ||
178 | |||
179 | uint32_t view_get_window_type(struct sway_view *view); | ||
180 | |||
168 | const char *view_get_type(struct sway_view *view); | 181 | const char *view_get_type(struct sway_view *view); |
169 | 182 | ||
170 | void view_configure(struct sway_view *view, double ox, double oy, int width, | 183 | void view_configure(struct sway_view *view, double ox, double oy, int width, |
@@ -217,4 +230,10 @@ void view_child_destroy(struct sway_view_child *child); | |||
217 | */ | 230 | */ |
218 | void view_update_title(struct sway_view *view, bool force); | 231 | void view_update_title(struct sway_view *view, bool force); |
219 | 232 | ||
233 | /** | ||
234 | * Run any criteria that match the view and haven't been run on this view | ||
235 | * before. | ||
236 | */ | ||
237 | void view_execute_criteria(struct sway_view *view); | ||
238 | |||
220 | #endif | 239 | #endif |