mirror of
https://github.com/tmux/tmux.git
synced 2024-11-17 18:08:51 +00:00
Handle no client better in display-message.
This commit is contained in:
parent
919bde7cb1
commit
6bdc947f6b
@ -70,6 +70,18 @@ cmd_display_message_exec(struct cmd *self, struct cmd_q *cmdq)
|
|||||||
return (CMD_RETURN_ERROR);
|
return (CMD_RETURN_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (args_has(args, 'c')) {
|
||||||
|
c = cmd_find_client(cmdq, args_get(args, 'c'), 0);
|
||||||
|
if (c == NULL)
|
||||||
|
return (CMD_RETURN_ERROR);
|
||||||
|
} else {
|
||||||
|
c = cmd_current_client(cmdq);
|
||||||
|
if (c == NULL && !args_has(self->args, 'p')) {
|
||||||
|
cmdq_error(cmdq, "no client available");
|
||||||
|
return (CMD_RETURN_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
template = args_get(args, 'F');
|
template = args_get(args, 'F');
|
||||||
if (args->argc != 0)
|
if (args->argc != 0)
|
||||||
template = args->argv[0];
|
template = args->argv[0];
|
||||||
@ -77,7 +89,7 @@ cmd_display_message_exec(struct cmd *self, struct cmd_q *cmdq)
|
|||||||
template = DISPLAY_MESSAGE_TEMPLATE;
|
template = DISPLAY_MESSAGE_TEMPLATE;
|
||||||
|
|
||||||
ft = format_create();
|
ft = format_create();
|
||||||
if ((c = cmd_find_client(cmdq, args_get(args, 'c'), 1)) != NULL)
|
if (c != NULL)
|
||||||
format_client(ft, c);
|
format_client(ft, c);
|
||||||
format_session(ft, s);
|
format_session(ft, s);
|
||||||
format_winlink(ft, s, wl);
|
format_winlink(ft, s, wl);
|
||||||
@ -90,10 +102,7 @@ cmd_display_message_exec(struct cmd *self, struct cmd_q *cmdq)
|
|||||||
msg = format_expand(ft, out);
|
msg = format_expand(ft, out);
|
||||||
if (args_has(self->args, 'p'))
|
if (args_has(self->args, 'p'))
|
||||||
cmdq_print(cmdq, "%s", msg);
|
cmdq_print(cmdq, "%s", msg);
|
||||||
else if (c == NULL) {
|
else
|
||||||
cmdq_error(cmdq, "no client available");
|
|
||||||
return (CMD_RETURN_ERROR);
|
|
||||||
} else
|
|
||||||
status_message_set(c, "%s", msg);
|
status_message_set(c, "%s", msg);
|
||||||
free(msg);
|
free(msg);
|
||||||
format_free(ft);
|
format_free(ft);
|
||||||
|
Loading…
Reference in New Issue
Block a user