diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-05-13 08:16:36 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-05-14 11:38:09 +1000 |
commit | 1e9aaa54a85e98d6b46ca594b4f50770f71047ea (patch) | |
tree | cb6a2748d1c53dfc80f9faa5da7052790e668400 /include/sway/tree/view.h | |
parent | Actually fix swayidle (diff) | |
download | sway-1e9aaa54a85e98d6b46ca594b4f50770f71047ea.tar.gz sway-1e9aaa54a85e98d6b46ca594b4f50770f71047ea.tar.zst sway-1e9aaa54a85e98d6b46ca594b4f50770f71047ea.zip |
Revert "Revert "Merge pull request #1943 from RyanDwyer/criteria-improvements""
This reverts commit 32a572cecfd0f6072a78ce0a381a2f8365f9010a.
This reimplements the criteria overhaul in preparation for fixing a
known bug.
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 17e579c8..bf86ca8c 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h | |||
@@ -21,11 +21,15 @@ enum sway_view_prop { | |||
21 | VIEW_PROP_APP_ID, | 21 | VIEW_PROP_APP_ID, |
22 | VIEW_PROP_CLASS, | 22 | VIEW_PROP_CLASS, |
23 | VIEW_PROP_INSTANCE, | 23 | VIEW_PROP_INSTANCE, |
24 | VIEW_PROP_WINDOW_TYPE, | ||
25 | VIEW_PROP_WINDOW_ROLE, | ||
26 | VIEW_PROP_X11_WINDOW_ID, | ||
24 | }; | 27 | }; |
25 | 28 | ||
26 | struct sway_view_impl { | 29 | struct sway_view_impl { |
27 | const char *(*get_prop)(struct sway_view *view, | 30 | const char *(*get_string_prop)(struct sway_view *view, |
28 | enum sway_view_prop prop); | 31 | enum sway_view_prop prop); |
32 | uint32_t (*get_int_prop)(struct sway_view *view, enum sway_view_prop prop); | ||
29 | void (*configure)(struct sway_view *view, double ox, double oy, int width, | 33 | void (*configure)(struct sway_view *view, double ox, double oy, int width, |
30 | int height); | 34 | int height); |
31 | void (*set_activated)(struct sway_view *view, bool activated); | 35 | void (*set_activated)(struct sway_view *view, bool activated); |
@@ -53,6 +57,8 @@ struct sway_view { | |||
53 | enum sway_container_border border; | 57 | enum sway_container_border border; |
54 | int border_thickness; | 58 | int border_thickness; |
55 | 59 | ||
60 | list_t *executed_criteria; | ||
61 | |||
56 | union { | 62 | union { |
57 | struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6; | 63 | struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6; |
58 | struct wlr_xdg_surface *wlr_xdg_surface; | 64 | struct wlr_xdg_surface *wlr_xdg_surface; |
@@ -109,6 +115,9 @@ struct sway_xwayland_view { | |||
109 | struct wl_listener request_maximize; | 115 | struct wl_listener request_maximize; |
110 | struct wl_listener request_configure; | 116 | struct wl_listener request_configure; |
111 | struct wl_listener request_fullscreen; | 117 | struct wl_listener request_fullscreen; |
118 | struct wl_listener set_title; | ||
119 | struct wl_listener set_class; | ||
120 | struct wl_listener set_window_type; | ||
112 | struct wl_listener map; | 121 | struct wl_listener map; |
113 | struct wl_listener unmap; | 122 | struct wl_listener unmap; |
114 | struct wl_listener destroy; | 123 | struct wl_listener destroy; |
@@ -191,6 +200,10 @@ const char *view_get_class(struct sway_view *view); | |||
191 | 200 | ||
192 | const char *view_get_instance(struct sway_view *view); | 201 | const char *view_get_instance(struct sway_view *view); |
193 | 202 | ||
203 | uint32_t view_get_x11_window_id(struct sway_view *view); | ||
204 | |||
205 | uint32_t view_get_window_type(struct sway_view *view); | ||
206 | |||
194 | const char *view_get_type(struct sway_view *view); | 207 | const char *view_get_type(struct sway_view *view); |
195 | 208 | ||
196 | void view_configure(struct sway_view *view, double ox, double oy, int width, | 209 | void view_configure(struct sway_view *view, double ox, double oy, int width, |
@@ -243,4 +256,10 @@ void view_child_destroy(struct sway_view_child *child); | |||
243 | */ | 256 | */ |
244 | void view_update_title(struct sway_view *view, bool force); | 257 | void view_update_title(struct sway_view *view, bool force); |
245 | 258 | ||
259 | /** | ||
260 | * Run any criteria that match the view and haven't been run on this view | ||
261 | * before. | ||
262 | */ | ||
263 | void view_execute_criteria(struct sway_view *view); | ||
264 | |||
246 | #endif | 265 | #endif |