mirror of
https://github.com/tmux/tmux.git
synced 2025-11-03 08:16:08 +00:00
Merge branch 'obsd-master'
This commit is contained in:
35
format.c
35
format.c
@@ -4490,7 +4490,6 @@ format_cmp_window(const void *a0, const void *b0)
|
|||||||
|
|
||||||
switch (sc->field) {
|
switch (sc->field) {
|
||||||
case FORMAT_LOOP_BY_INDEX:
|
case FORMAT_LOOP_BY_INDEX:
|
||||||
result = wa->id - wb->id;
|
|
||||||
break;
|
break;
|
||||||
case FORMAT_LOOP_BY_TIME:
|
case FORMAT_LOOP_BY_TIME:
|
||||||
if (timercmp(&wa->activity_time, &wb->activity_time, >)) {
|
if (timercmp(&wa->activity_time, &wb->activity_time, >)) {
|
||||||
@@ -4516,15 +4515,16 @@ format_cmp_window(const void *a0, const void *b0)
|
|||||||
static char *
|
static char *
|
||||||
format_loop_windows(struct format_expand_state *es, const char *fmt)
|
format_loop_windows(struct format_expand_state *es, const char *fmt)
|
||||||
{
|
{
|
||||||
struct format_tree *ft = es->ft;
|
struct format_loop_sort_criteria *sc = &format_loop_sort_criteria;
|
||||||
struct client *c = ft->client;
|
struct format_tree *ft = es->ft;
|
||||||
struct cmdq_item *item = ft->item;
|
struct client *c = ft->client;
|
||||||
struct format_tree *nft;
|
struct cmdq_item *item = ft->item;
|
||||||
struct format_expand_state next;
|
struct format_tree *nft;
|
||||||
char *all, *active, *use, *expanded, *value;
|
struct format_expand_state next;
|
||||||
size_t valuelen;
|
char *all, *active, *use, *expanded, *value;
|
||||||
struct winlink *wl;
|
size_t valuelen;
|
||||||
struct window *w;
|
struct winlink *wl;
|
||||||
|
struct window *w;
|
||||||
int i, n, last = 0;
|
int i, n, last = 0;
|
||||||
static struct winlink **l = NULL;
|
static struct winlink **l = NULL;
|
||||||
static int lsz = 0;
|
static int lsz = 0;
|
||||||
@@ -4548,7 +4548,18 @@ format_loop_windows(struct format_expand_state *es, const char *fmt)
|
|||||||
l[n++] = wl;
|
l[n++] = wl;
|
||||||
}
|
}
|
||||||
|
|
||||||
qsort(l, n, sizeof *l, format_cmp_window);
|
if (sc->field != FORMAT_LOOP_BY_INDEX)
|
||||||
|
qsort(l, n, sizeof *l, format_cmp_window);
|
||||||
|
else {
|
||||||
|
/* Use order in the tree as index order. */
|
||||||
|
if (sc->reversed) {
|
||||||
|
for (i = 0; i < n / 2; i++) {
|
||||||
|
wl = l[i];
|
||||||
|
l[i] = l[n - 1 - i];
|
||||||
|
l[n - 1 - i] = wl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
value = xcalloc(1, 1);
|
value = xcalloc(1, 1);
|
||||||
valuelen = 1;
|
valuelen = 1;
|
||||||
@@ -4735,7 +4746,7 @@ format_loop_clients(struct format_expand_state *es, const char *fmt)
|
|||||||
if (sc->field != FORMAT_LOOP_BY_INDEX)
|
if (sc->field != FORMAT_LOOP_BY_INDEX)
|
||||||
qsort(l, n, sizeof *l, format_cmp_client);
|
qsort(l, n, sizeof *l, format_cmp_client);
|
||||||
else {
|
else {
|
||||||
/* Use order in the TAILQ as "index" order. */
|
/* Use order in the list as index order. */
|
||||||
if (sc->reversed) {
|
if (sc->reversed) {
|
||||||
for (i = 0; i < n / 2; i++) {
|
for (i = 0; i < n / 2; i++) {
|
||||||
c = l[i];
|
c = l[i];
|
||||||
|
|||||||
8
tmux.h
8
tmux.h
@@ -1563,13 +1563,15 @@ struct tty {
|
|||||||
#define TTY_OPENED 0x20
|
#define TTY_OPENED 0x20
|
||||||
#define TTY_OSC52QUERY 0x40
|
#define TTY_OSC52QUERY 0x40
|
||||||
#define TTY_BLOCK 0x80
|
#define TTY_BLOCK 0x80
|
||||||
#define TTY_HAVEDA 0x100 /* Primary DA. */
|
#define TTY_HAVEDA 0x100
|
||||||
#define TTY_HAVEXDA 0x200
|
#define TTY_HAVEXDA 0x200
|
||||||
#define TTY_SYNCING 0x400
|
#define TTY_SYNCING 0x400
|
||||||
#define TTY_HAVEDA2 0x800 /* Secondary DA. */
|
#define TTY_HAVEDA2 0x800
|
||||||
#define TTY_WINSIZEQUERY 0x1000
|
#define TTY_WINSIZEQUERY 0x1000
|
||||||
|
#define TTY_HAVEFG 0x2000
|
||||||
|
#define TTY_HAVEBG 0x4000
|
||||||
#define TTY_ALL_REQUEST_FLAGS \
|
#define TTY_ALL_REQUEST_FLAGS \
|
||||||
(TTY_HAVEDA|TTY_HAVEDA2|TTY_HAVEXDA)
|
(TTY_HAVEDA|TTY_HAVEDA2|TTY_HAVEXDA|TTY_HAVEFG|TTY_HAVEBG)
|
||||||
int flags;
|
int flags;
|
||||||
|
|
||||||
struct tty_term *term;
|
struct tty_term *term;
|
||||||
|
|||||||
@@ -938,7 +938,7 @@ partial_key:
|
|||||||
if (delay == 0)
|
if (delay == 0)
|
||||||
delay = 1;
|
delay = 1;
|
||||||
if ((tty->flags & TTY_ALL_REQUEST_FLAGS) != TTY_ALL_REQUEST_FLAGS) {
|
if ((tty->flags & TTY_ALL_REQUEST_FLAGS) != TTY_ALL_REQUEST_FLAGS) {
|
||||||
log_debug("%s: increasing delay for active DA query", c->name);
|
log_debug("%s: increasing delay for active query", c->name);
|
||||||
if (delay < 500)
|
if (delay < 500)
|
||||||
delay = 500;
|
delay = 500;
|
||||||
}
|
}
|
||||||
@@ -1031,7 +1031,7 @@ tty_keys_extended_key(struct tty *tty, const char *buf, size_t len,
|
|||||||
cc_t bspace;
|
cc_t bspace;
|
||||||
key_code nkey, onlykey;
|
key_code nkey, onlykey;
|
||||||
struct utf8_data ud;
|
struct utf8_data ud;
|
||||||
utf8_char uc;
|
utf8_char uc;
|
||||||
|
|
||||||
*size = 0;
|
*size = 0;
|
||||||
|
|
||||||
@@ -1682,12 +1682,14 @@ tty_keys_colours(struct tty *tty, const char *buf, size_t len, size_t *size,
|
|||||||
else
|
else
|
||||||
log_debug("fg is %s", colour_tostring(n));
|
log_debug("fg is %s", colour_tostring(n));
|
||||||
*fg = n;
|
*fg = n;
|
||||||
|
tty->flags |= TTY_HAVEFG;
|
||||||
} else if (n != -1) {
|
} else if (n != -1) {
|
||||||
if (c != NULL)
|
if (c != NULL)
|
||||||
log_debug("%s bg is %s", c->name, colour_tostring(n));
|
log_debug("%s bg is %s", c->name, colour_tostring(n));
|
||||||
else
|
else
|
||||||
log_debug("bg is %s", colour_tostring(n));
|
log_debug("bg is %s", colour_tostring(n));
|
||||||
*bg = n;
|
*bg = n;
|
||||||
|
tty->flags |= TTY_HAVEBG;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
|||||||
Reference in New Issue
Block a user