mirror of
https://github.com/tmate-io/tmate.git
synced 2024-11-23 00:23:08 +01:00
tty_write is relatively short and the only function left in tty-write.c so move
it into tty.c.
This commit is contained in:
parent
ddad0be5f7
commit
dd4a3b24fc
2
Makefile
2
Makefile
@ -31,7 +31,7 @@ SRCS= attributes.c buffer-poll.c buffer.c cfg.c client-fn.c \
|
|||||||
mode-key.c names.c options-cmd.c options.c paste.c procname.c \
|
mode-key.c names.c options-cmd.c options.c paste.c procname.c \
|
||||||
resize.c screen-redraw.c screen-write.c screen.c server-fn.c \
|
resize.c screen-redraw.c screen-write.c screen.c server-fn.c \
|
||||||
server-msg.c server.c session.c status.c tmux.c tty-keys.c tty-term.c \
|
server-msg.c server.c session.c status.c tmux.c tty-keys.c tty-term.c \
|
||||||
tty-write.c tty.c utf8.c window-choose.c window-clock.c \
|
tty.c utf8.c window-choose.c window-clock.c \
|
||||||
window-copy.c window-more.c window-scroll.c window.c xmalloc.c
|
window-copy.c window-more.c window-scroll.c window.c xmalloc.c
|
||||||
|
|
||||||
CDIAGFLAGS+= -Wno-long-long -Wall -W -Wnested-externs -Wformat=2
|
CDIAGFLAGS+= -Wno-long-long -Wall -W -Wnested-externs -Wformat=2
|
||||||
|
4
tmux.h
4
tmux.h
@ -791,7 +791,6 @@ struct tty_ctx {
|
|||||||
u_int orupper;
|
u_int orupper;
|
||||||
u_int orlower;
|
u_int orlower;
|
||||||
};
|
};
|
||||||
typedef void tty_cmd_func(struct tty *, struct tty_ctx *);
|
|
||||||
|
|
||||||
/* Client connection. */
|
/* Client connection. */
|
||||||
struct client {
|
struct client {
|
||||||
@ -1077,9 +1076,6 @@ void tty_keys_init(struct tty *);
|
|||||||
void tty_keys_free(struct tty *);
|
void tty_keys_free(struct tty *);
|
||||||
int tty_keys_next(struct tty *, int *, u_char *);
|
int tty_keys_next(struct tty *, int *, u_char *);
|
||||||
|
|
||||||
/* tty-write.c */
|
|
||||||
void tty_write(tty_cmd_func *, struct tty_ctx *);
|
|
||||||
|
|
||||||
/* options-cmd.c */
|
/* options-cmd.c */
|
||||||
void set_option_string(struct cmd_ctx *,
|
void set_option_string(struct cmd_ctx *,
|
||||||
struct options *, const struct set_option_entry *, char *);
|
struct options *, const struct set_option_entry *, char *);
|
||||||
|
52
tty-write.c
52
tty-write.c
@ -1,52 +0,0 @@
|
|||||||
/* $OpenBSD$ */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
|
||||||
*
|
|
||||||
* Permission to use, copy, modify, and distribute this software for any
|
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
|
||||||
* copyright notice and this permission notice appear in all copies.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
||||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
||||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
||||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
||||||
* WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
|
|
||||||
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
|
||||||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
#include "tmux.h"
|
|
||||||
|
|
||||||
void
|
|
||||||
tty_write(tty_cmd_func *cmdfn, struct tty_ctx *ctx)
|
|
||||||
{
|
|
||||||
struct window_pane *wp = ctx->wp;
|
|
||||||
struct client *c;
|
|
||||||
u_int i;
|
|
||||||
|
|
||||||
if (wp == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (wp->window->flags & WINDOW_REDRAW || wp->flags & PANE_REDRAW)
|
|
||||||
return;
|
|
||||||
if (wp->window->flags & WINDOW_HIDDEN || !window_pane_visible(wp))
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
|
|
||||||
c = ARRAY_ITEM(&clients, i);
|
|
||||||
if (c == NULL || c->session == NULL)
|
|
||||||
continue;
|
|
||||||
if (c->flags & CLIENT_SUSPENDED)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (c->session->curw->window == wp->window) {
|
|
||||||
if (c->tty.flags & TTY_FREEZE || c->tty.term == NULL)
|
|
||||||
continue;
|
|
||||||
tty_update_mode(&c->tty, c->tty.mode & ~MODE_CURSOR);
|
|
||||||
cmdfn(&c->tty, ctx);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
31
tty.c
31
tty.c
@ -517,6 +517,37 @@ tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int ox, u_int oy)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
tty_write(void (*cmdfn)(struct tty *, struct tty_ctx *), struct tty_ctx *ctx)
|
||||||
|
{
|
||||||
|
struct window_pane *wp = ctx->wp;
|
||||||
|
struct client *c;
|
||||||
|
u_int i;
|
||||||
|
|
||||||
|
if (wp == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (wp->window->flags & WINDOW_REDRAW || wp->flags & PANE_REDRAW)
|
||||||
|
return;
|
||||||
|
if (wp->window->flags & WINDOW_HIDDEN || !window_pane_visible(wp))
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
|
||||||
|
c = ARRAY_ITEM(&clients, i);
|
||||||
|
if (c == NULL || c->session == NULL)
|
||||||
|
continue;
|
||||||
|
if (c->flags & CLIENT_SUSPENDED)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (c->session->curw->window == wp->window) {
|
||||||
|
if (c->tty.flags & TTY_FREEZE || c->tty.term == NULL)
|
||||||
|
continue;
|
||||||
|
tty_update_mode(&c->tty, c->tty.mode & ~MODE_CURSOR);
|
||||||
|
cmdfn(&c->tty, ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
tty_cmd_insertcharacter(struct tty *tty, struct tty_ctx *ctx)
|
tty_cmd_insertcharacter(struct tty *tty, struct tty_ctx *ctx)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user