aboutsummaryrefslogtreecommitdiff
path: root/hooks.c
diff options
context:
space:
mode:
authornicm <nicm>2016-10-13 22:48:51 +0000
committernicm <nicm>2016-10-13 22:48:51 +0000
commit4289a1ebfa7479413ec5ac543b88c4ea039d00a0 (patch)
treed17862b06b8822aa1b8ab91d83e51a47e25e60e3 /hooks.c
parent7a1a01feeff7b2ab17e2caef2d6b2180a8c1e70e (diff)
downloadrtmux-4289a1ebfa7479413ec5ac543b88c4ea039d00a0.tar.gz
rtmux-4289a1ebfa7479413ec5ac543b88c4ea039d00a0.tar.bz2
rtmux-4289a1ebfa7479413ec5ac543b88c4ea039d00a0.zip
Trying to do hooks generically is way too complicated and unreliable and
confusing, particularly trying to automatically figure out what target hooks should be using. So simplify it: - drop before hooks entirely, they don't seem to be very useful; - commands with special requirements now fire their own after hook (for example, if they change session or window, or if they have -t and -s and need to choose which one the hook uses as current target); - commands with no special requirements can have the CMD_AFTERHOOK flag added and they will use the -t state. At the moment new-session, new-window, split-window fire their own hook, and display-message uses the flag. The remaining commands still need to be looked at.
Diffstat (limited to 'hooks.c')
-rw-r--r--hooks.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/hooks.c b/hooks.c
index 62ea05d1..2e0126b7 100644
--- a/hooks.c
+++ b/hooks.c
@@ -196,6 +196,9 @@ hooks_wait(struct hooks *hooks, struct cmd_q *cmdq, struct cmd_find_state *fs,
va_list ap;
char *name;
+ if (cmdq->flags & CMD_Q_NOHOOKS)
+ return (-1);
+
va_start(ap, fmt);
xvasprintf(&name, fmt, ap);
va_end(ap);