pane
if (window_pane_index(wp, &pane) != 0)
len = xsnprintf(buf, sizeof buf, "%u", pane);
if (pane > 9 && pane < 35)
llen = xsnprintf(lbuf, sizeof lbuf, "%c", 'a' + (pane - 10));
u_int pane, idx, px, py, i, j, xoff, yoff, sx, sy;
session = window = pane = NULL;
pane = period;
pane = period;
pane = copy;
pane = copy;
if (pane != NULL && *pane == '\0')
pane = NULL;
if (pane != NULL)
pane = cmd_find_map_table(cmd_find_pane_table, pane);
if (session != NULL || window != NULL || pane != NULL) {
pane == NULL ? "" : "pane ",
pane == NULL ? "" : pane);
if (pane != NULL && (flags & CMD_FIND_WINDOW_INDEX)) {
if (window == NULL && pane == NULL) {
if (window != NULL && pane == NULL) {
if (window == NULL && pane != NULL) {
if (cmd_find_get_pane_with_session(fs, pane) != 0)
if (cmd_find_get_pane_with_window(fs, pane) != 0)
if (window != NULL && pane != NULL) {
if (cmd_find_get_pane_with_window(fs, pane) != 0)
if (window != NULL && pane == NULL) {
if (window == NULL && pane != NULL) {
if (cmd_find_get_pane(fs, pane, pane_only) != 0)
cmdq_error(item, "can't find pane: %s", pane);
cmd_find_get_pane(struct cmd_find_state *fs, const char *pane, int only)
log_debug("%s: %s", __func__, pane);
if (*pane == '%') {
fs->wp = window_pane_find_by_id_str(pane);
if (cmd_find_get_pane_with_window(fs, pane) == 0)
if (!only && cmd_find_get_window(fs, pane, 0) == 0) {
cmd_find_get_pane_with_session(struct cmd_find_state *fs, const char *pane)
log_debug("%s: %s", __func__, pane);
if (*pane == '%') {
fs->wp = window_pane_find_by_id_str(pane);
return (cmd_find_get_pane_with_window(fs, pane));
cmd_find_get_pane_with_window(struct cmd_find_state *fs, const char *pane)
log_debug("%s: %s", __func__, pane);
if (*pane == '%') {
fs->wp = window_pane_find_by_id_str(pane);
if (strcmp(pane, "!") == 0) {
} else if (strcmp(pane, "{up-of}") == 0) {
} else if (strcmp(pane, "{down-of}") == 0) {
} else if (strcmp(pane, "{left-of}") == 0) {
} else if (strcmp(pane, "{right-of}") == 0) {
if (pane[0] == '+' || pane[0] == '-') {
if (pane[1] != '\0')
n = strtonum(pane + 1, 1, INT_MAX, NULL);
if (pane[0] == '+')
idx = strtonum(pane, 0, INT_MAX, &errstr);
fs->wp = window_find_string(fs->w, pane);
const char *session, *window, *pane, *s;
u_int pane;
if (sscanf(copy, "%%%u", &pane) != 1)
wp = window_pane_find_by_id(pane);
u_int pane;
if (sscanf(copy, "%%%u", &pane) != 1)
wp = window_pane_find_by_id(pane);
control_notify_pane_mode_changed(int pane)
control_write(c, "%%pane-mode-changed %%%u", pane);
if (cp1->pane < cp2->pane)
if (cp1->pane > cp2->pane)
if (csp1->pane < csp2->pane)
if (csp1->pane > csp2->pane)
struct control_pane cp = { .pane = wp->id };
cp->pane = wp->id;
control_window_pane(struct client *c, u_int pane)
if ((wp = window_pane_find_by_id(pane)) == NULL)
u_int pane;
wp = control_window_pane(c, cp->pane);
(unsigned long long)age, cp->pane, used, limit);
u_int pane;
find.pane = wp->id;
csp->pane = wp->id;
find.pane = wp->id;
csp->pane = wp->id;
control_notify_pane_mode_changed(ne->pane);
ne->pane = (wp != NULL ? (int)wp->id : -1);
ne.pane = (target->wp != NULL ? (int)target->wp->id : -1);
int pane;
return (cw->pane);
cw->pane = wp;
if (cw != NULL && cw->pane == wp) {
struct window_customize_itemdata *item, int global, int pane)
pane = 0;
if (pane)
if (pane)
int pane;
*wp = window_pane_find_by_id(item->pane);
item->pane = wp->id;
item->pane = -1;
item->pane = -1;