diff options
Diffstat (limited to 'tty-write.c')
-rw-r--r-- | tty-write.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/tty-write.c b/tty-write.c index 08c2981b..a74b6722 100644 --- a/tty-write.c +++ b/tty-write.c @@ -1,4 +1,4 @@ -/* $Id: tty-write.c,v 1.20 2009-07-22 18:08:56 tcunha Exp $ */ +/* $Id: tty-write.c,v 1.21 2009-07-23 12:38:01 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -23,39 +23,39 @@ #include "tmux.h" void -tty_write0(struct window_pane *wp, enum tty_cmd cmd) +tty_write0(struct window_pane *wp, tty_cmd_func *cmdfn) { struct tty_ctx ctx; memset(&ctx, 0, sizeof ctx); ctx.wp = wp; - tty_write_cmd(cmd, &ctx); + tty_write(cmdfn, &ctx); } void -tty_writenum(struct window_pane *wp, enum tty_cmd cmd, u_int num) +tty_writenum(struct window_pane *wp, tty_cmd_func *cmdfn, u_int num) { struct tty_ctx ctx; memset(&ctx, 0, sizeof ctx); ctx.wp = wp; ctx.num = num; - tty_write_cmd(cmd, &ctx); + tty_write(cmdfn, &ctx); } void -tty_writeptr(struct window_pane *wp, enum tty_cmd cmd, void *ptr) +tty_writeptr(struct window_pane *wp, tty_cmd_func *cmdfn, void *ptr) { struct tty_ctx ctx; memset(&ctx, 0, sizeof ctx); ctx.wp = wp; ctx.ptr = ptr; - tty_write_cmd(cmd, &ctx); + tty_write(cmdfn, &ctx); } void -tty_write_cmd(enum tty_cmd cmd, struct tty_ctx *ctx) +tty_write(tty_cmd_func *cmdfn, struct tty_ctx *ctx) { struct window_pane *wp = ctx->wp; struct client *c; @@ -77,9 +77,10 @@ tty_write_cmd(enum tty_cmd cmd, struct tty_ctx *ctx) 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); - - tty_write(&c->tty, cmd, ctx); + cmdfn(&c->tty, ctx); } } } |