diff options
author | Ian Fan <ianfan0@gmail.com> | 2018-07-14 11:10:36 +0100 |
---|---|---|
committer | Ian Fan <ianfan0@gmail.com> | 2018-08-01 16:57:15 +0100 |
commit | 317217f2c87aba4463806e211c22296ac9230b6c (patch) | |
tree | dade74c4b5a98b4f1e71e28aad771e6726b0e9a3 /sway/tree | |
parent | dd6debf367420d0771cc0326ecb2511c1ce05ac1 (diff) | |
download | sway-317217f2c87aba4463806e211c22296ac9230b6c.tar.xz |
ipc: add window::mark event
Diffstat (limited to 'sway/tree')
-rw-r--r-- | sway/tree/view.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c index 7300f207..48b39e80 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -888,6 +888,7 @@ bool view_find_and_unmark(char *mark) { free(view_mark); list_del(view->marks, i); view_update_marks_textures(view); + ipc_event_window(container, "mark"); return true; } } @@ -895,11 +896,10 @@ bool view_find_and_unmark(char *mark) { } void view_clear_marks(struct sway_view *view) { - for (int i = 0; i < view->marks->length; ++i) { - free(view->marks->items[i]); + while (view->marks->length) { + list_del(view->marks, 0); + ipc_event_window(view->swayc, "mark"); } - list_free(view->marks); - view->marks = create_list(); } bool view_has_mark(struct sway_view *view, char *mark) { @@ -912,6 +912,11 @@ bool view_has_mark(struct sway_view *view, char *mark) { return false; } +void view_add_mark(struct sway_view *view, char *mark) { + list_add(view->marks, strdup(mark)); + ipc_event_window(view->swayc, "mark"); +} + static void update_marks_texture(struct sway_view *view, struct wlr_texture **texture, struct border_colors *class) { struct sway_container *output = container_parent(view->swayc, C_OUTPUT); |