diff options
author | nicm <nicm> | 2020-07-27 08:03:10 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-07-27 08:03:10 +0000 |
commit | 40e65c511502fe47932e230290537e7391ab8a83 (patch) | |
tree | 0ccd24065994a052d1ecc377a311b6c7dcfafb83 /cmd-display-message.c | |
parent | d329b035cee47d968a8c93b5cbd8fde879ce6f0d (diff) | |
download | rtmux-40e65c511502fe47932e230290537e7391ab8a83.tar.gz rtmux-40e65c511502fe47932e230290537e7391ab8a83.tar.bz2 rtmux-40e65c511502fe47932e230290537e7391ab8a83.zip |
Add a -d option to display-message to set delay, from theonekeyg at
gmail dot com in GitHub issue 2322.
Diffstat (limited to 'cmd-display-message.c')
-rw-r--r-- | cmd-display-message.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/cmd-display-message.c b/cmd-display-message.c index 634f0a93..fc9c4851 100644 --- a/cmd-display-message.c +++ b/cmd-display-message.c @@ -39,8 +39,8 @@ const struct cmd_entry cmd_display_message_entry = { .name = "display-message", .alias = "display", - .args = { "ac:Ipt:F:v", 0, 1 }, - .usage = "[-aIpv] [-c target-client] [-F format] " + .args = { "acd:Ipt:F:v", 0, 1 }, + .usage = "[-aIpv] [-c target-client] [-d delay] [-F format] " CMD_TARGET_PANE_USAGE " [message]", .target = { 't', CMD_FIND_PANE, 0 }, @@ -68,6 +68,7 @@ cmd_display_message_exec(struct cmd *self, struct cmdq_item *item) struct window_pane *wp = target->wp; const char *template; char *msg, *cause; + int delay = -1; struct format_tree *ft; int flags; @@ -85,6 +86,15 @@ cmd_display_message_exec(struct cmd *self, struct cmdq_item *item) return (CMD_RETURN_ERROR); } + if (args_has(args, 'd')) { + delay = args_strtonum(args, 'd', 0, UINT_MAX, &cause); + if (cause != NULL) { + cmdq_error(item, "delay %s", cause); + free(cause); + return (CMD_RETURN_ERROR); + } + } + template = args_get(args, 'F'); if (args->argc != 0) template = args->argv[0]; @@ -117,7 +127,7 @@ cmd_display_message_exec(struct cmd *self, struct cmdq_item *item) if (args_has(args, 'p')) cmdq_print(item, "%s", msg); else if (tc != NULL) - status_message_set(tc, 0, "%s", msg); + status_message_set(tc, delay, 0, "%s", msg); free(msg); format_free(ft); |