aboutsummaryrefslogtreecommitdiffstats
path: root/include/sway/tree/view.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway/tree/view.h')
-rw-r--r--include/sway/tree/view.h21
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
25struct sway_view_impl { 28struct 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
166const char *view_get_instance(struct sway_view *view); 175const char *view_get_instance(struct sway_view *view);
167 176
177uint32_t view_get_x11_window_id(struct sway_view *view);
178
179uint32_t view_get_window_type(struct sway_view *view);
180
168const char *view_get_type(struct sway_view *view); 181const char *view_get_type(struct sway_view *view);
169 182
170void view_configure(struct sway_view *view, double ox, double oy, int width, 183void 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 */
218void view_update_title(struct sway_view *view, bool force); 231void 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 */
237void view_execute_criteria(struct sway_view *view);
238
220#endif 239#endif