Merge branch 'obsd-master'

This commit is contained in:
Thomas Adam
2026-07-04 23:30:06 +01:00
2 changed files with 12 additions and 3 deletions

View File

@@ -164,6 +164,7 @@ const struct window_mode window_client_mode = {
struct window_client_itemdata {
struct client *c;
char *ttyname;
};
struct window_client_modedata {
@@ -204,6 +205,7 @@ static void
window_client_free_item(struct window_client_itemdata *item)
{
server_client_unref(item->c);
free(item->ttyname);
free(item);
}
@@ -231,6 +233,7 @@ window_client_build(void *modedata, struct sort_criteria *sort_crit,
item = window_client_add_item(data);
item->c = l[i];
item->ttyname = xstrdup(l[i]->ttyname);
l[i]->references++;
}
@@ -552,7 +555,7 @@ window_client_key(struct window_mode_entry *wme, struct client *c,
break;
case '\r':
item = mode_tree_get_current(mtd);
mode_tree_run_command(c, NULL, data->command, item->c->ttyname);
mode_tree_run_command(c, NULL, data->command, item->ttyname);
finished = 1;
break;
}

View File

@@ -330,6 +330,7 @@ window_tree_build_window(struct session *s, struct winlink *wl,
u_int n, i, found;
int expanded;
struct format_tree *ft;
uint64_t tag = FORMAT_NONE;
item = window_tree_add_item(data);
item->type = WINDOW_TREE_WINDOW;
@@ -337,7 +338,9 @@ window_tree_build_window(struct session *s, struct winlink *wl,
item->winlink = wl->idx;
item->pane = -1;
ft = format_create(NULL, NULL, FORMAT_PANE|wl->window->active->id, 0);
if (wl->window != NULL && wl->window->active != NULL)
tag = FORMAT_PANE|wl->window->active->id;
ft = format_create(NULL, NULL, tag, 0);
format_defaults(ft, NULL, s, wl, NULL);
text = format_expand(ft, data->format);
xasprintf(&name, "%u", wl->idx);
@@ -385,6 +388,7 @@ window_tree_build_session(struct session *s, void *modedata,
u_int n, i, empty;
int expanded;
struct format_tree *ft;
uint64_t tag = FORMAT_NONE;
item = window_tree_add_item(data);
item->type = WINDOW_TREE_SESSION;
@@ -392,7 +396,9 @@ window_tree_build_session(struct session *s, void *modedata,
item->winlink = -1;
item->pane = -1;
ft = format_create(NULL, NULL, FORMAT_PANE|wl->window->active->id, 0);
if (wl != NULL && wl->window != NULL && wl->window->active != NULL)
tag = FORMAT_PANE|wl->window->active->id;
ft = format_create(NULL, NULL, tag, 0);
format_defaults(ft, NULL, s, NULL, NULL);
text = format_expand(ft, data->format);
format_free(ft);