mirror of
https://github.com/tmux/tmux.git
synced 2026-06-03 16:46:18 +00:00
Merge branch 'obsd-master'
This commit is contained in:
16
format.c
16
format.c
@@ -2433,20 +2433,10 @@ format_cb_pane_y(struct format_tree *ft)
|
||||
static void *
|
||||
format_cb_pane_z(struct format_tree *ft)
|
||||
{
|
||||
struct window_pane *wp;
|
||||
u_int n = 0;
|
||||
u_int idx;
|
||||
|
||||
if (ft->wp != NULL) {
|
||||
if (~ft->wp->flags & PANE_FLOATING)
|
||||
return (xstrdup("0"));
|
||||
TAILQ_FOREACH(wp, &ft->wp->window->z_index, zentry) {
|
||||
if (wp->flags & PANE_FLOATING)
|
||||
n++;
|
||||
if (wp == ft->wp)
|
||||
return (format_printf("%u", n));
|
||||
}
|
||||
return (xstrdup("0"));
|
||||
}
|
||||
if (ft->wp != NULL && window_pane_zindex(ft->wp, &idx) == 0)
|
||||
return (format_printf("%u", idx));
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
|
||||
14
sort.c
14
sort.c
@@ -74,6 +74,7 @@ sort_buffer_cmp(const void *a0, const void *b0)
|
||||
case SORT_INDEX:
|
||||
case SORT_MODIFIER:
|
||||
case SORT_ORDER:
|
||||
case SORT_Z:
|
||||
case SORT_END:
|
||||
break;
|
||||
}
|
||||
@@ -120,6 +121,7 @@ sort_client_cmp(const void *a0, const void *b0)
|
||||
case SORT_INDEX:
|
||||
case SORT_MODIFIER:
|
||||
case SORT_ORDER:
|
||||
case SORT_Z:
|
||||
case SORT_END:
|
||||
break;
|
||||
}
|
||||
@@ -172,6 +174,7 @@ sort_session_cmp(const void *a0, const void *b0)
|
||||
case SORT_MODIFIER:
|
||||
case SORT_ORDER:
|
||||
case SORT_SIZE:
|
||||
case SORT_Z:
|
||||
case SORT_END:
|
||||
break;
|
||||
}
|
||||
@@ -211,6 +214,11 @@ sort_pane_cmp(const void *a0, const void *b0)
|
||||
case SORT_NAME:
|
||||
result = strcmp(a->screen->title, b->screen->title);
|
||||
break;
|
||||
case SORT_Z:
|
||||
window_pane_zindex(a, &ai);
|
||||
window_pane_zindex(b, &bi);
|
||||
result = ai - bi;
|
||||
break;
|
||||
case SORT_MODIFIER:
|
||||
case SORT_ORDER:
|
||||
case SORT_END:
|
||||
@@ -269,6 +277,7 @@ sort_winlink_cmp(const void *a0, const void *b0)
|
||||
break;
|
||||
case SORT_MODIFIER:
|
||||
case SORT_ORDER:
|
||||
case SORT_Z:
|
||||
case SORT_END:
|
||||
break;
|
||||
}
|
||||
@@ -304,6 +313,7 @@ sort_key_binding_cmp(const void *a0, const void *b0)
|
||||
case SORT_CREATION:
|
||||
case SORT_ORDER:
|
||||
case SORT_SIZE:
|
||||
case SORT_Z:
|
||||
case SORT_END:
|
||||
break;
|
||||
}
|
||||
@@ -358,6 +368,8 @@ sort_order_from_string(const char* order)
|
||||
return (SORT_ORDER);
|
||||
if (strcasecmp(order, "size") == 0)
|
||||
return (SORT_SIZE);
|
||||
if (strcasecmp(order, "z") == 0)
|
||||
return (SORT_Z);
|
||||
}
|
||||
return (SORT_END);
|
||||
}
|
||||
@@ -379,6 +391,8 @@ sort_order_to_string(enum sort_order order)
|
||||
return "order";
|
||||
if (order == SORT_SIZE)
|
||||
return "size";
|
||||
if (order == SORT_Z)
|
||||
return "z";
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
|
||||
5
tmux.1
5
tmux.1
@@ -2864,9 +2864,10 @@ is not given, "switch\-client \-t \[aq]%%\[aq]" is used.
|
||||
specifies the initial sort order: one of
|
||||
.Ql index ,
|
||||
.Ql name ,
|
||||
or
|
||||
.Ql activity
|
||||
(time).
|
||||
(time)
|
||||
or
|
||||
.Ql z .
|
||||
.Fl r
|
||||
reverses the sort order.
|
||||
.Fl f
|
||||
|
||||
2
tmux.h
2
tmux.h
@@ -2375,6 +2375,7 @@ enum sort_order {
|
||||
SORT_NAME,
|
||||
SORT_ORDER,
|
||||
SORT_SIZE,
|
||||
SORT_Z,
|
||||
SORT_END,
|
||||
};
|
||||
|
||||
@@ -3444,6 +3445,7 @@ struct window_pane *window_pane_next_by_number(struct window *,
|
||||
struct window_pane *window_pane_previous_by_number(struct window *,
|
||||
struct window_pane *, u_int);
|
||||
int window_pane_index(struct window_pane *, u_int *);
|
||||
int window_pane_zindex(struct window_pane *, u_int *);
|
||||
u_int window_count_panes(struct window *, int);
|
||||
void window_destroy_panes(struct window *);
|
||||
struct window_pane *window_pane_find_by_id_str(const char *);
|
||||
|
||||
@@ -136,6 +136,7 @@ static enum sort_order window_tree_order_seq[] = {
|
||||
SORT_INDEX,
|
||||
SORT_NAME,
|
||||
SORT_ACTIVITY,
|
||||
SORT_Z,
|
||||
SORT_END,
|
||||
};
|
||||
|
||||
|
||||
22
window.c
22
window.c
@@ -887,8 +887,8 @@ window_pane_previous_by_number(struct window *w, struct window_pane *wp,
|
||||
int
|
||||
window_pane_index(struct window_pane *wp, u_int *i)
|
||||
{
|
||||
struct window_pane *wq;
|
||||
struct window *w = wp->window;
|
||||
struct window_pane *wq;
|
||||
|
||||
*i = options_get_number(w->options, "pane-base-index");
|
||||
TAILQ_FOREACH(wq, &w->panes, entry) {
|
||||
@@ -901,6 +901,26 @@ window_pane_index(struct window_pane *wp, u_int *i)
|
||||
return (-1);
|
||||
}
|
||||
|
||||
int
|
||||
window_pane_zindex(struct window_pane *wp, u_int *i)
|
||||
{
|
||||
struct window *w = wp->window;
|
||||
struct window_pane *wq;
|
||||
|
||||
*i = 0;
|
||||
TAILQ_FOREACH(wq, &w->z_index, zentry) {
|
||||
if (wq == wp) {
|
||||
if (~wp->flags & PANE_FLOATING)
|
||||
(*i)++;
|
||||
return (0);
|
||||
}
|
||||
if (wq->flags & PANE_FLOATING)
|
||||
(*i)++;
|
||||
}
|
||||
|
||||
return (-1);
|
||||
}
|
||||
|
||||
u_int
|
||||
window_count_panes(struct window *w, int with_floating)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user