summaryrefslogtreecommitdiffstats
path: root/notify.c
diff options
context:
space:
mode:
authornicm <nicm>2018-07-04 12:30:52 +0000
committernicm <nicm>2018-07-04 12:30:52 +0000
commitcc743dc296f9f8b5505ee217f15748f8d7c2b343 (patch)
treec49c9ac72e4b69406ea8fc0d99378015fdf79a19 /notify.c
parentd254293a6d406db4b1d1d4cac36cd4225fa0d8a7 (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.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/notify.c b/notify.c
index 0dc8c5cf..96c0e590 100644
--- a/notify.c
+++ b/notify.c
@@ -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;