version 1.52, 2020/04/13 10:59:58 |
version 1.53, 2020/04/13 20:51:57 |
|
|
|
|
.target = { 't', CMD_FIND_PANE, 0 }, |
.target = { 't', CMD_FIND_PANE, 0 }, |
|
|
.flags = CMD_AFTERHOOK, |
.flags = CMD_AFTERHOOK|CMD_CLIENT_CFLAG|CMD_CLIENT_CANFAIL, |
.exec = cmd_display_message_exec |
.exec = cmd_display_message_exec |
}; |
}; |
|
|
|
|
{ |
{ |
struct args *args = cmd_get_args(self); |
struct args *args = cmd_get_args(self); |
struct cmd_find_state *target = cmdq_get_target(item); |
struct cmd_find_state *target = cmdq_get_target(item); |
struct client *c, *target_c; |
struct client *tc = cmdq_get_target_client(item), *c; |
struct session *s = target->s; |
struct session *s = target->s; |
struct winlink *wl = target->wl; |
struct winlink *wl = target->wl; |
struct window_pane *wp = target->wp; |
struct window_pane *wp = target->wp; |
|
|
* formats too, assuming it matches the session. If it doesn't, use the |
* formats too, assuming it matches the session. If it doesn't, use the |
* best client for the session. |
* best client for the session. |
*/ |
*/ |
c = cmd_find_client(item, args_get(args, 'c'), 1); |
if (tc != NULL && tc->session == s) |
if (c != NULL && c->session == s) |
c = tc; |
target_c = c; |
|
else |
else |
target_c = cmd_find_best_client(s); |
c = cmd_find_best_client(s); |
if (args_has(args, 'v')) |
if (args_has(args, 'v')) |
flags = FORMAT_VERBOSE; |
flags = FORMAT_VERBOSE; |
else |
else |
flags = 0; |
flags = 0; |
ft = format_create(cmdq_get_client(item), item, FORMAT_NONE, flags); |
ft = format_create(cmdq_get_client(item), item, FORMAT_NONE, flags); |
format_defaults(ft, target_c, s, wl, wp); |
format_defaults(ft, c, s, wl, wp); |
|
|
if (args_has(args, 'a')) { |
if (args_has(args, 'a')) { |
format_each(ft, cmd_display_message_each, item); |
format_each(ft, cmd_display_message_each, item); |
|
|
msg = format_expand_time(ft, template); |
msg = format_expand_time(ft, template); |
if (args_has(args, 'p')) |
if (args_has(args, 'p')) |
cmdq_print(item, "%s", msg); |
cmdq_print(item, "%s", msg); |
else if (c != NULL) |
else if (tc != NULL) |
status_message_set(c, "%s", msg); |
status_message_set(tc, "%s", msg); |
free(msg); |
free(msg); |
|
|
format_free(ft); |
format_free(ft); |