diff options
author | nicm <nicm> | 2018-07-04 12:30:52 +0000 |
---|---|---|
committer | nicm <nicm> | 2018-07-04 12:30:52 +0000 |
commit | cc743dc296f9f8b5505ee217f15748f8d7c2b343 (patch) | |
tree | c49c9ac72e4b69406ea8fc0d99378015fdf79a19 /notify.c | |
parent | d254293a6d406db4b1d1d4cac36cd4225fa0d8a7 (diff) |
Add set-hook -R to run a hook immediately (useful to set multiple hooks
to the same thing).
Diffstat (limited to 'notify.c')
-rw-r--r-- | notify.c | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -36,7 +36,7 @@ struct notify_entry { }; static void -notify_hook(struct cmdq_item *item, struct notify_entry *ne) +notify_hook1(struct cmdq_item *item, struct notify_entry *ne) { struct cmd_find_state fs; struct hook *hook; @@ -102,7 +102,7 @@ notify_callback(struct cmdq_item *item, void *data) if (strcmp(ne->name, "session-window-changed") == 0) control_notify_session_window_changed(ne->session); - notify_hook(item, ne); + notify_hook1(item, ne); if (ne->client != NULL) server_client_unref(ne->client); @@ -155,6 +155,24 @@ notify_add(const char *name, struct cmd_find_state *fs, struct client *c, } void +notify_hook(struct cmdq_item *item, const char *name) +{ + struct notify_entry ne; + + memset(&ne, 0, sizeof ne); + + ne.name = name; + cmd_find_copy_state(&ne.fs, &item->target); + + ne.client = item->client; + ne.session = item->target.s; + ne.window = item->target.w; + ne.pane = item->target.wp->id; + + notify_hook1(item, &ne); +} + +void notify_input(struct window_pane *wp, struct evbuffer *input) { struct client *c; |