Change how display-message uses the client. Originally it was only

intended as the target client where the message should be displayed but
at some point (perhaps when -p was added), it was used for format
expansion too. This means it can get a bit weird where you have client
formats expanding for a client with a different current session than the
target session.

However, it is nice that display-message can be used to show information
about a specific client. So change so that the -c client will be used if
the session matches the target session (-t or default), otherwise the
best client will be chosen.
This commit is contained in:
nicm
2018-04-18 14:35:37 +00:00
parent 2595718dd3
commit 3dceddd70e
4 changed files with 22 additions and 6 deletions

View File

@ -1254,6 +1254,9 @@ void
format_defaults(struct format_tree *ft, struct client *c, struct session *s,
struct winlink *wl, struct window_pane *wp)
{
if (c != NULL && s != NULL && c->session != s)
log_debug("%s: session does not match", __func__);
format_add(ft, "session_format", "%d", s != NULL);
format_add(ft, "window_format", "%d", wl != NULL);
format_add(ft, "pane_format", "%d", wp != NULL);