diff options
author | emersion <contact@emersion.fr> | 2018-08-02 08:11:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-02 08:11:10 +0100 |
commit | 47bf4ed0cbf104d09bba7f39acbf2ceb84c2c694 (patch) | |
tree | 8f0085c1829ab97a920acd9d5116732779177631 /include | |
parent | Correctly track saved surfaces during multiple transactions (diff) | |
parent | Merge pull request #2391 from RyanDwyer/fix-popups-v2 (diff) | |
download | sway-47bf4ed0cbf104d09bba7f39acbf2ceb84c2c694.tar.gz sway-47bf4ed0cbf104d09bba7f39acbf2ceb84c2c694.tar.zst sway-47bf4ed0cbf104d09bba7f39acbf2ceb84c2c694.zip |
Merge branch 'master' into fix-resize-wiggle
Diffstat (limited to 'include')
-rw-r--r-- | include/ipc.h | 5 | ||||
-rw-r--r-- | include/sway/config.h | 2 | ||||
-rw-r--r-- | include/sway/input/seat.h | 2 | ||||
-rw-r--r-- | include/sway/ipc-server.h | 2 | ||||
-rw-r--r-- | include/sway/output.h | 8 | ||||
-rw-r--r-- | include/sway/tree/container.h | 11 | ||||
-rw-r--r-- | include/sway/tree/view.h | 16 |
7 files changed, 32 insertions, 14 deletions
diff --git a/include/ipc.h b/include/ipc.h index 0010718b..a3f60e19 100644 --- a/include/ipc.h +++ b/include/ipc.h | |||
@@ -15,6 +15,7 @@ enum ipc_command_type { | |||
15 | IPC_GET_VERSION = 7, | 15 | IPC_GET_VERSION = 7, |
16 | IPC_GET_BINDING_MODES = 8, | 16 | IPC_GET_BINDING_MODES = 8, |
17 | IPC_GET_CONFIG = 9, | 17 | IPC_GET_CONFIG = 9, |
18 | IPC_SEND_TICK = 10, | ||
18 | 19 | ||
19 | // sway-specific command types | 20 | // sway-specific command types |
20 | IPC_GET_INPUTS = 100, | 21 | IPC_GET_INPUTS = 100, |
@@ -27,8 +28,8 @@ enum ipc_command_type { | |||
27 | IPC_EVENT_WINDOW = ((1<<31) | 3), | 28 | IPC_EVENT_WINDOW = ((1<<31) | 3), |
28 | IPC_EVENT_BARCONFIG_UPDATE = ((1<<31) | 4), | 29 | IPC_EVENT_BARCONFIG_UPDATE = ((1<<31) | 4), |
29 | IPC_EVENT_BINDING = ((1<<31) | 5), | 30 | IPC_EVENT_BINDING = ((1<<31) | 5), |
30 | IPC_EVENT_MODIFIER = ((1<<31) | 6), | 31 | IPC_EVENT_SHUTDOWN = ((1<<31) | 6), |
31 | IPC_EVENT_INPUT = ((1<<31) | 7), | 32 | IPC_EVENT_TICK = ((1<<31) | 7), |
32 | }; | 33 | }; |
33 | 34 | ||
34 | #endif | 35 | #endif |
diff --git a/include/sway/config.h b/include/sway/config.h index 0f74b439..909b6827 100644 --- a/include/sway/config.h +++ b/include/sway/config.h | |||
@@ -488,8 +488,6 @@ int sway_binding_cmp_keys(const void *a, const void *b); | |||
488 | 488 | ||
489 | void free_sway_binding(struct sway_binding *sb); | 489 | void free_sway_binding(struct sway_binding *sb); |
490 | 490 | ||
491 | struct sway_binding *sway_binding_dup(struct sway_binding *sb); | ||
492 | |||
493 | void seat_execute_command(struct sway_seat *seat, struct sway_binding *binding); | 491 | void seat_execute_command(struct sway_seat *seat, struct sway_binding *binding); |
494 | 492 | ||
495 | void load_swaybars(); | 493 | void load_swaybars(); |
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index 07febe2c..92387601 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h | |||
@@ -99,7 +99,7 @@ void seat_configure_xcursor(struct sway_seat *seat); | |||
99 | void seat_set_focus(struct sway_seat *seat, struct sway_container *container); | 99 | void seat_set_focus(struct sway_seat *seat, struct sway_container *container); |
100 | 100 | ||
101 | void seat_set_focus_warp(struct sway_seat *seat, | 101 | void seat_set_focus_warp(struct sway_seat *seat, |
102 | struct sway_container *container, bool warp); | 102 | struct sway_container *container, bool warp, bool notify); |
103 | 103 | ||
104 | void seat_set_focus_surface(struct sway_seat *seat, | 104 | void seat_set_focus_surface(struct sway_seat *seat, |
105 | struct wlr_surface *surface, bool unfocus); | 105 | struct wlr_surface *surface, bool unfocus); |
diff --git a/include/sway/ipc-server.h b/include/sway/ipc-server.h index 6469f097..4b6d0e25 100644 --- a/include/sway/ipc-server.h +++ b/include/sway/ipc-server.h | |||
@@ -16,5 +16,7 @@ void ipc_event_workspace(struct sway_container *old, | |||
16 | void ipc_event_window(struct sway_container *window, const char *change); | 16 | void ipc_event_window(struct sway_container *window, const char *change); |
17 | void ipc_event_barconfig_update(struct bar_config *bar); | 17 | void ipc_event_barconfig_update(struct bar_config *bar); |
18 | void ipc_event_mode(const char *mode, bool pango); | 18 | void ipc_event_mode(const char *mode, bool pango); |
19 | void ipc_event_shutdown(const char *reason); | ||
20 | void ipc_event_binding(struct sway_binding *binding); | ||
19 | 21 | ||
20 | #endif | 22 | #endif |
diff --git a/include/sway/output.h b/include/sway/output.h index 6283db68..80dcd37b 100644 --- a/include/sway/output.h +++ b/include/sway/output.h | |||
@@ -67,10 +67,18 @@ struct sway_container *output_get_active_workspace(struct sway_output *output); | |||
67 | void output_render(struct sway_output *output, struct timespec *when, | 67 | void output_render(struct sway_output *output, struct timespec *when, |
68 | pixman_region32_t *damage); | 68 | pixman_region32_t *damage); |
69 | 69 | ||
70 | void output_surface_for_each_surface(struct sway_output *output, | ||
71 | struct wlr_surface *surface, double ox, double oy, | ||
72 | sway_surface_iterator_func_t iterator, void *user_data); | ||
73 | |||
70 | void output_view_for_each_surface(struct sway_output *output, | 74 | void output_view_for_each_surface(struct sway_output *output, |
71 | struct sway_view *view, sway_surface_iterator_func_t iterator, | 75 | struct sway_view *view, sway_surface_iterator_func_t iterator, |
72 | void *user_data); | 76 | void *user_data); |
73 | 77 | ||
78 | void output_view_for_each_popup(struct sway_output *output, | ||
79 | struct sway_view *view, sway_surface_iterator_func_t iterator, | ||
80 | void *user_data); | ||
81 | |||
74 | void output_layer_for_each_surface(struct sway_output *output, | 82 | void output_layer_for_each_surface(struct sway_output *output, |
75 | struct wl_list *layer_surfaces, sway_surface_iterator_func_t iterator, | 83 | struct wl_list *layer_surfaces, sway_surface_iterator_func_t iterator, |
76 | void *user_data); | 84 | void *user_data); |
diff --git a/include/sway/tree/container.h b/include/sway/tree/container.h index d4a42a71..12ff8a5a 100644 --- a/include/sway/tree/container.h +++ b/include/sway/tree/container.h | |||
@@ -230,18 +230,11 @@ struct sway_container *container_parent(struct sway_container *container, | |||
230 | * surface-local coordinates of the given layout coordinates if the container | 230 | * surface-local coordinates of the given layout coordinates if the container |
231 | * is a view and the view contains a surface at those coordinates. | 231 | * is a view and the view contains a surface at those coordinates. |
232 | */ | 232 | */ |
233 | struct sway_container *container_at(struct sway_container *container, | 233 | struct sway_container *container_at(struct sway_container *workspace, |
234 | double ox, double oy, struct wlr_surface **surface, | 234 | double lx, double ly, struct wlr_surface **surface, |
235 | double *sx, double *sy); | 235 | double *sx, double *sy); |
236 | 236 | ||
237 | /** | 237 | /** |
238 | * Same as container_at, but only checks floating views and expects coordinates | ||
239 | * to be layout coordinates, as that's what floating views use. | ||
240 | */ | ||
241 | struct sway_container *floating_container_at(double lx, double ly, | ||
242 | struct wlr_surface **surface, double *sx, double *sy); | ||
243 | |||
244 | /** | ||
245 | * Apply the function for each descendant of the container breadth first. | 238 | * Apply the function for each descendant of the container breadth first. |
246 | */ | 239 | */ |
247 | void container_for_each_descendant_bfs(struct sway_container *container, | 240 | void container_for_each_descendant_bfs(struct sway_container *container, |
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index 0f9b0bb2..37fd02bc 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h | |||
@@ -47,7 +47,10 @@ struct sway_view_impl { | |||
47 | bool (*has_client_side_decorations)(struct sway_view *view); | 47 | bool (*has_client_side_decorations)(struct sway_view *view); |
48 | void (*for_each_surface)(struct sway_view *view, | 48 | void (*for_each_surface)(struct sway_view *view, |
49 | wlr_surface_iterator_func_t iterator, void *user_data); | 49 | wlr_surface_iterator_func_t iterator, void *user_data); |
50 | void (*for_each_popup)(struct sway_view *view, | ||
51 | wlr_surface_iterator_func_t iterator, void *user_data); | ||
50 | void (*close)(struct sway_view *view); | 52 | void (*close)(struct sway_view *view); |
53 | void (*close_popups)(struct sway_view *view); | ||
51 | void (*destroy)(struct sway_view *view); | 54 | void (*destroy)(struct sway_view *view); |
52 | }; | 55 | }; |
53 | 56 | ||
@@ -249,11 +252,22 @@ void view_set_tiled(struct sway_view *view, bool tiled); | |||
249 | 252 | ||
250 | void view_close(struct sway_view *view); | 253 | void view_close(struct sway_view *view); |
251 | 254 | ||
255 | void view_close_popups(struct sway_view *view); | ||
256 | |||
252 | void view_damage_from(struct sway_view *view); | 257 | void view_damage_from(struct sway_view *view); |
253 | 258 | ||
259 | /** | ||
260 | * Iterate all surfaces of a view (toplevels + popups). | ||
261 | */ | ||
254 | void view_for_each_surface(struct sway_view *view, | 262 | void view_for_each_surface(struct sway_view *view, |
255 | wlr_surface_iterator_func_t iterator, void *user_data); | 263 | wlr_surface_iterator_func_t iterator, void *user_data); |
256 | 264 | ||
265 | /** | ||
266 | * Iterate all popups recursively. | ||
267 | */ | ||
268 | void view_for_each_popup(struct sway_view *view, | ||
269 | wlr_surface_iterator_func_t iterator, void *user_data); | ||
270 | |||
257 | // view implementation | 271 | // view implementation |
258 | 272 | ||
259 | void view_init(struct sway_view *view, enum sway_view_type type, | 273 | void view_init(struct sway_view *view, enum sway_view_type type, |
@@ -314,6 +328,8 @@ void view_clear_marks(struct sway_view *view); | |||
314 | 328 | ||
315 | bool view_has_mark(struct sway_view *view, char *mark); | 329 | bool view_has_mark(struct sway_view *view, char *mark); |
316 | 330 | ||
331 | void view_add_mark(struct sway_view *view, char *mark); | ||
332 | |||
317 | void view_update_marks_textures(struct sway_view *view); | 333 | void view_update_marks_textures(struct sway_view *view); |
318 | 334 | ||
319 | /** | 335 | /** |