diff options
author | Brian Ashworth <RedSoxFan@users.noreply.github.com> | 2018-05-14 09:06:23 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-14 09:06:23 -0400 |
commit | 9ba0dca7bacb0e79aeac4ea8c605713c69446d9b (patch) | |
tree | 3573981aaa61ac5c86be6ce1e8ecf5e2112b8d5b /include/sway/tree/view.h | |
parent | Always render top border for border normal (diff) | |
parent | Merge pull request #1871 from emersion/kill-wl-shell (diff) | |
download | sway-9ba0dca7bacb0e79aeac4ea8c605713c69446d9b.tar.gz sway-9ba0dca7bacb0e79aeac4ea8c605713c69446d9b.tar.zst sway-9ba0dca7bacb0e79aeac4ea8c605713c69446d9b.zip |
Merge branch 'master' into fix-1975
Diffstat (limited to 'include/sway/tree/view.h')
-rw-r--r-- | include/sway/tree/view.h | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index e163e3fe..f12386dc 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h | |||
@@ -10,7 +10,6 @@ | |||
10 | struct sway_container; | 10 | struct sway_container; |
11 | 11 | ||
12 | enum sway_view_type { | 12 | enum sway_view_type { |
13 | SWAY_VIEW_WL_SHELL, | ||
14 | SWAY_VIEW_XDG_SHELL_V6, | 13 | SWAY_VIEW_XDG_SHELL_V6, |
15 | SWAY_VIEW_XDG_SHELL, | 14 | SWAY_VIEW_XDG_SHELL, |
16 | SWAY_VIEW_XWAYLAND, | 15 | SWAY_VIEW_XWAYLAND, |
@@ -21,11 +20,15 @@ enum sway_view_prop { | |||
21 | VIEW_PROP_APP_ID, | 20 | VIEW_PROP_APP_ID, |
22 | VIEW_PROP_CLASS, | 21 | VIEW_PROP_CLASS, |
23 | VIEW_PROP_INSTANCE, | 22 | VIEW_PROP_INSTANCE, |
23 | VIEW_PROP_WINDOW_TYPE, | ||
24 | VIEW_PROP_WINDOW_ROLE, | ||
25 | VIEW_PROP_X11_WINDOW_ID, | ||
24 | }; | 26 | }; |
25 | 27 | ||
26 | struct sway_view_impl { | 28 | struct sway_view_impl { |
27 | const char *(*get_prop)(struct sway_view *view, | 29 | const char *(*get_string_prop)(struct sway_view *view, |
28 | 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); | ||
29 | 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, |
30 | int height); | 33 | int height); |
31 | void (*set_activated)(struct sway_view *view, bool activated); | 34 | void (*set_activated)(struct sway_view *view, bool activated); |
@@ -57,6 +60,8 @@ struct sway_view { | |||
57 | bool border_left; | 60 | bool border_left; |
58 | bool border_right; | 61 | bool border_right; |
59 | 62 | ||
63 | list_t *executed_criteria; | ||
64 | |||
60 | union { | 65 | union { |
61 | struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6; | 66 | struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6; |
62 | struct wlr_xdg_surface *wlr_xdg_surface; | 67 | struct wlr_xdg_surface *wlr_xdg_surface; |
@@ -113,6 +118,9 @@ struct sway_xwayland_view { | |||
113 | struct wl_listener request_maximize; | 118 | struct wl_listener request_maximize; |
114 | struct wl_listener request_configure; | 119 | struct wl_listener request_configure; |
115 | struct wl_listener request_fullscreen; | 120 | struct wl_listener request_fullscreen; |
121 | struct wl_listener set_title; | ||
122 | struct wl_listener set_class; | ||
123 | struct wl_listener set_window_type; | ||
116 | struct wl_listener map; | 124 | struct wl_listener map; |
117 | struct wl_listener unmap; | 125 | struct wl_listener unmap; |
118 | struct wl_listener destroy; | 126 | struct wl_listener destroy; |
@@ -134,20 +142,6 @@ struct sway_xwayland_unmanaged { | |||
134 | struct wl_listener destroy; | 142 | struct wl_listener destroy; |
135 | }; | 143 | }; |
136 | 144 | ||
137 | struct sway_wl_shell_view { | ||
138 | struct sway_view view; | ||
139 | |||
140 | struct wl_listener commit; | ||
141 | struct wl_listener request_move; | ||
142 | struct wl_listener request_resize; | ||
143 | struct wl_listener request_maximize; | ||
144 | struct wl_listener request_fullscreen; | ||
145 | struct wl_listener set_state; | ||
146 | struct wl_listener destroy; | ||
147 | |||
148 | int pending_width, pending_height; | ||
149 | }; | ||
150 | |||
151 | struct sway_view_child; | 145 | struct sway_view_child; |
152 | 146 | ||
153 | struct sway_view_child_impl { | 147 | struct sway_view_child_impl { |
@@ -195,6 +189,12 @@ const char *view_get_class(struct sway_view *view); | |||
195 | 189 | ||
196 | const char *view_get_instance(struct sway_view *view); | 190 | const char *view_get_instance(struct sway_view *view); |
197 | 191 | ||
192 | uint32_t view_get_x11_window_id(struct sway_view *view); | ||
193 | |||
194 | const char *view_get_window_role(struct sway_view *view); | ||
195 | |||
196 | uint32_t view_get_window_type(struct sway_view *view); | ||
197 | |||
198 | const char *view_get_type(struct sway_view *view); | 198 | const char *view_get_type(struct sway_view *view); |
199 | 199 | ||
200 | void view_configure(struct sway_view *view, double ox, double oy, int width, | 200 | void view_configure(struct sway_view *view, double ox, double oy, int width, |
@@ -247,4 +247,10 @@ void view_child_destroy(struct sway_view_child *child); | |||
247 | */ | 247 | */ |
248 | void view_update_title(struct sway_view *view, bool force); | 248 | void view_update_title(struct sway_view *view, bool force); |
249 | 249 | ||
250 | /** | ||
251 | * Run any criteria that match the view and haven't been run on this view | ||
252 | * before. | ||
253 | */ | ||
254 | void view_execute_criteria(struct sway_view *view); | ||
255 | |||
250 | #endif | 256 | #endif |