mirror of
https://github.com/tmux/tmux.git
synced 2024-11-16 09:28:51 +00:00
Don't nuke charset flag on [0m. Also rename DRAWING -> CHARSET flag.
This commit is contained in:
parent
43c99c2fab
commit
f47ab8f13f
1
TODO
1
TODO
@ -57,6 +57,7 @@
|
|||||||
- lift SHRT_MAX limits for history
|
- lift SHRT_MAX limits for history
|
||||||
- audit copy/scroll and other modes for problems with very small windows
|
- audit copy/scroll and other modes for problems with very small windows
|
||||||
- screen_draw_* moved out/renamed (accept TTY_*?)
|
- screen_draw_* moved out/renamed (accept TTY_*?)
|
||||||
|
- get rid of stderr/stdout hacks in log.c
|
||||||
|
|
||||||
-- For 0.2 --------------------------------------------------------------------
|
-- For 0.2 --------------------------------------------------------------------
|
||||||
- window splitting?
|
- window splitting?
|
||||||
|
8
input.c
8
input.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: input.c,v 1.40 2007-11-27 22:12:14 nicm Exp $ */
|
/* $Id: input.c,v 1.41 2007-11-27 23:01:27 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -432,11 +432,11 @@ input_handle_c0_control(u_char ch, struct input_ctx *ictx)
|
|||||||
input_write(ictx, TTY_CURSORMOVE, s->cy, s->cx);
|
input_write(ictx, TTY_CURSORMOVE, s->cy, s->cx);
|
||||||
return;
|
return;
|
||||||
case '\016': /* SO */
|
case '\016': /* SO */
|
||||||
s->attr |= ATTR_DRAWING;
|
s->attr |= ATTR_CHARSET;
|
||||||
input_write(ictx, TTY_ATTRIBUTES, s->attr, s->colr);
|
input_write(ictx, TTY_ATTRIBUTES, s->attr, s->colr);
|
||||||
return;
|
return;
|
||||||
case '\017': /* SI */
|
case '\017': /* SI */
|
||||||
s->attr &= ~ATTR_DRAWING;
|
s->attr &= ~ATTR_CHARSET;
|
||||||
input_write(ictx, TTY_ATTRIBUTES, s->attr, s->colr);
|
input_write(ictx, TTY_ATTRIBUTES, s->attr, s->colr);
|
||||||
return;
|
return;
|
||||||
default:
|
default:
|
||||||
@ -1057,7 +1057,7 @@ input_handle_sequence_sgr(struct input_ctx *ictx)
|
|||||||
switch (m) {
|
switch (m) {
|
||||||
case 0:
|
case 0:
|
||||||
case 10:
|
case 10:
|
||||||
s->attr = 0;
|
s->attr &= ATTR_CHARSET;
|
||||||
s->colr = SCREEN_DEFCOLR;
|
s->colr = SCREEN_DEFCOLR;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
4
tmux.h
4
tmux.h
@ -1,4 +1,4 @@
|
|||||||
/* $Id: tmux.h,v 1.104 2007-11-27 20:03:08 nicm Exp $ */
|
/* $Id: tmux.h,v 1.105 2007-11-27 23:01:27 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -332,7 +332,7 @@ struct msg_resize_data {
|
|||||||
#define ATTR_REVERSE 0x10
|
#define ATTR_REVERSE 0x10
|
||||||
#define ATTR_HIDDEN 0x20
|
#define ATTR_HIDDEN 0x20
|
||||||
#define ATTR_ITALICS 0x40
|
#define ATTR_ITALICS 0x40
|
||||||
#define ATTR_DRAWING 0x80 /* line drawing character set */
|
#define ATTR_CHARSET 0x80 /* alternative character set */
|
||||||
|
|
||||||
/* Modes. */
|
/* Modes. */
|
||||||
#define MODE_CURSOR 0x001
|
#define MODE_CURSOR 0x001
|
||||||
|
8
tty.c
8
tty.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: tty.c,v 1.5 2007-11-27 21:07:38 nicm Exp $ */
|
/* $Id: tty.c,v 1.6 2007-11-27 23:01:27 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -201,7 +201,7 @@ tty_puts(struct tty *tty, const char *s)
|
|||||||
void
|
void
|
||||||
tty_putc(struct tty *tty, char ch)
|
tty_putc(struct tty *tty, char ch)
|
||||||
{
|
{
|
||||||
if (tty->attr & ATTR_DRAWING)
|
if (tty->attr & ATTR_CHARSET)
|
||||||
ch = tty_get_acs(tty, ch);
|
ch = tty_get_acs(tty, ch);
|
||||||
buffer_write8(tty->out, ch);
|
buffer_write8(tty->out, ch);
|
||||||
}
|
}
|
||||||
@ -346,7 +346,7 @@ tty_attributes(struct tty *tty, u_char attr, u_char colr)
|
|||||||
|
|
||||||
/* If any bits are being cleared, reset everything. */
|
/* If any bits are being cleared, reset everything. */
|
||||||
if (tty->attr & ~attr) {
|
if (tty->attr & ~attr) {
|
||||||
if ((tty->attr & ATTR_DRAWING) &&
|
if ((tty->attr & ATTR_CHARSET) &&
|
||||||
exit_alt_charset_mode != NULL)
|
exit_alt_charset_mode != NULL)
|
||||||
tty_puts(tty, exit_alt_charset_mode);
|
tty_puts(tty, exit_alt_charset_mode);
|
||||||
tty_puts(tty, exit_attribute_mode);
|
tty_puts(tty, exit_attribute_mode);
|
||||||
@ -372,7 +372,7 @@ tty_attributes(struct tty *tty, u_char attr, u_char colr)
|
|||||||
tty_puts(tty, enter_reverse_mode);
|
tty_puts(tty, enter_reverse_mode);
|
||||||
if ((attr & ATTR_HIDDEN) && enter_secure_mode != NULL)
|
if ((attr & ATTR_HIDDEN) && enter_secure_mode != NULL)
|
||||||
tty_puts(tty, enter_secure_mode);
|
tty_puts(tty, enter_secure_mode);
|
||||||
if ((attr & ATTR_DRAWING) && enter_alt_charset_mode != NULL)
|
if ((attr & ATTR_CHARSET) && enter_alt_charset_mode != NULL)
|
||||||
tty_puts(tty, enter_alt_charset_mode);
|
tty_puts(tty, enter_alt_charset_mode);
|
||||||
|
|
||||||
fg = (colr >> 4) & 0xf;
|
fg = (colr >> 4) & 0xf;
|
||||||
|
Loading…
Reference in New Issue
Block a user