mirror of
https://github.com/tmate-io/tmate.git
synced 2024-11-23 08:33:17 +01:00
Merge branch 'obsd-master'
This commit is contained in:
commit
399a15b9fc
@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
#include "tmux.h"
|
#include "tmux.h"
|
||||||
|
|
||||||
|
@ -99,14 +99,12 @@ void
|
|||||||
control_notify_window_unlinked(unused struct session *s, struct window *w)
|
control_notify_window_unlinked(unused struct session *s, struct window *w)
|
||||||
{
|
{
|
||||||
struct client *c;
|
struct client *c;
|
||||||
struct session *cs;
|
|
||||||
u_int i;
|
u_int i;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
|
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
|
||||||
c = ARRAY_ITEM(&clients, i);
|
c = ARRAY_ITEM(&clients, i);
|
||||||
if (!CONTROL_SHOULD_NOTIFY_CLIENT(c) || c->session == NULL)
|
if (!CONTROL_SHOULD_NOTIFY_CLIENT(c) || c->session == NULL)
|
||||||
continue;
|
continue;
|
||||||
cs = c->session;
|
|
||||||
|
|
||||||
control_write(c, "%%window-close @%u", w->id);
|
control_write(c, "%%window-close @%u", w->id);
|
||||||
}
|
}
|
||||||
@ -136,14 +134,12 @@ void
|
|||||||
control_notify_window_renamed(struct window *w)
|
control_notify_window_renamed(struct window *w)
|
||||||
{
|
{
|
||||||
struct client *c;
|
struct client *c;
|
||||||
struct session *s;
|
|
||||||
u_int i;
|
u_int i;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
|
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
|
||||||
c = ARRAY_ITEM(&clients, i);
|
c = ARRAY_ITEM(&clients, i);
|
||||||
if (!CONTROL_SHOULD_NOTIFY_CLIENT(c) || c->session == NULL)
|
if (!CONTROL_SHOULD_NOTIFY_CLIENT(c) || c->session == NULL)
|
||||||
continue;
|
continue;
|
||||||
s = c->session;
|
|
||||||
|
|
||||||
control_write(c, "%%window-renamed @%u %s", w->id, w->name);
|
control_write(c, "%%window-renamed @%u %s", w->id, w->name);
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include <event.h>
|
#include <event.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
#include "tmux.h"
|
#include "tmux.h"
|
||||||
|
|
||||||
|
@ -448,7 +448,7 @@ tty_keys_next(struct tty *tty)
|
|||||||
const char *buf;
|
const char *buf;
|
||||||
size_t len, size;
|
size_t len, size;
|
||||||
cc_t bspace;
|
cc_t bspace;
|
||||||
int key, delay;
|
int key, delay, expired = 0;
|
||||||
|
|
||||||
/* Get key buffer. */
|
/* Get key buffer. */
|
||||||
buf = EVBUFFER_DATA(tty->event->input);
|
buf = EVBUFFER_DATA(tty->event->input);
|
||||||
@ -508,7 +508,7 @@ first_key:
|
|||||||
}
|
}
|
||||||
|
|
||||||
tk = tty_keys_find(tty, buf + 1, len - 1, &size);
|
tk = tty_keys_find(tty, buf + 1, len - 1, &size);
|
||||||
if (tk != NULL) {
|
if (tk != NULL && (!expired || tk->next == NULL)) {
|
||||||
size++; /* include escape */
|
size++; /* include escape */
|
||||||
if (tk->next != NULL)
|
if (tk->next != NULL)
|
||||||
goto partial_key;
|
goto partial_key;
|
||||||
@ -540,8 +540,10 @@ partial_key:
|
|||||||
/* If timer is going, check for expiration. */
|
/* If timer is going, check for expiration. */
|
||||||
if (tty->flags & TTY_TIMER) {
|
if (tty->flags & TTY_TIMER) {
|
||||||
if (evtimer_initialized(&tty->key_timer) &&
|
if (evtimer_initialized(&tty->key_timer) &&
|
||||||
!evtimer_pending(&tty->key_timer, NULL))
|
!evtimer_pending(&tty->key_timer, NULL)) {
|
||||||
|
expired = 1;
|
||||||
goto first_key;
|
goto first_key;
|
||||||
|
}
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
9
window.c
9
window.c
@ -493,19 +493,18 @@ window_zoom(struct window_pane *wp)
|
|||||||
int
|
int
|
||||||
window_unzoom(struct window *w)
|
window_unzoom(struct window *w)
|
||||||
{
|
{
|
||||||
struct window_pane *wp, *wp1;
|
struct window_pane *wp;
|
||||||
|
|
||||||
if (!(w->flags & WINDOW_ZOOMED))
|
if (!(w->flags & WINDOW_ZOOMED))
|
||||||
return (-1);
|
return (-1);
|
||||||
wp = w->active;
|
|
||||||
|
|
||||||
w->flags &= ~WINDOW_ZOOMED;
|
w->flags &= ~WINDOW_ZOOMED;
|
||||||
layout_free(w);
|
layout_free(w);
|
||||||
w->layout_root = w->saved_layout_root;
|
w->layout_root = w->saved_layout_root;
|
||||||
|
|
||||||
TAILQ_FOREACH(wp1, &w->panes, entry) {
|
TAILQ_FOREACH(wp, &w->panes, entry) {
|
||||||
wp1->layout_cell = wp1->saved_layout_cell;
|
wp->layout_cell = wp->saved_layout_cell;
|
||||||
wp1->saved_layout_cell = NULL;
|
wp->saved_layout_cell = NULL;
|
||||||
}
|
}
|
||||||
layout_fix_panes(w, w->sx, w->sy);
|
layout_fix_panes(w, w->sx, w->sy);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user