mirror of
https://github.com/tmate-io/tmate.git
synced 2024-11-23 16:43:11 +01:00
Style: ry_* -> r*
This commit is contained in:
parent
c0572ea992
commit
0be6a3041f
8
TODO
8
TODO
@ -5,9 +5,7 @@
|
|||||||
- alt charset, borders etc (terminfo(5)/Line Graphics)
|
- alt charset, borders etc (terminfo(5)/Line Graphics)
|
||||||
- new window command prompt
|
- new window command prompt
|
||||||
- mouse handling and some other bits elinks needs
|
- mouse handling and some other bits elinks needs
|
||||||
- scrollback
|
|
||||||
- server doesn't handle SIGTERM anymore...
|
- server doesn't handle SIGTERM anymore...
|
||||||
- copy/paste
|
|
||||||
- the whole input/screen/local thing sucks a bit, reorganise/redesign it
|
- the whole input/screen/local thing sucks a bit, reorganise/redesign it
|
||||||
- line mode/char-at-a-time mode a la telnet?
|
- line mode/char-at-a-time mode a la telnet?
|
||||||
- some of the uses of buffers really sucks. buffer_reverse_add/remove,
|
- some of the uses of buffers really sucks. buffer_reverse_add/remove,
|
||||||
@ -67,7 +65,13 @@
|
|||||||
- session specification is all over the place. some things use -s before cmd,
|
- session specification is all over the place. some things use -s before cmd,
|
||||||
some -s after, some no -s, there are various uses of -n. the differences are
|
some -s after, some no -s, there are various uses of -n. the differences are
|
||||||
sort of logical, but confusing. needs rethought
|
sort of logical, but confusing. needs rethought
|
||||||
|
- bind non prefix keys (useful for shift-pageup for scrollback, when we
|
||||||
|
have scrollback)
|
||||||
|
- stuff like rename would be nice to be able to do in-client like screen, if
|
||||||
|
it could be implemented in a non-icky way
|
||||||
|
|
||||||
-- For 0.2 --------------------------------------------------------------------
|
-- For 0.2 --------------------------------------------------------------------
|
||||||
- copy and paste
|
- copy and paste
|
||||||
|
- scrollback
|
||||||
|
phys screen vs virt screen? or seperate scrollback buffer?
|
||||||
- window splitting?
|
- window splitting?
|
||||||
|
12
input.c
12
input.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: input.c,v 1.31 2007-11-16 16:28:14 nicm Exp $ */
|
/* $Id: input.c,v 1.32 2007-11-20 18:46:32 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -470,7 +470,7 @@ input_handle_private_two(u_char ch, struct input_ctx *ictx)
|
|||||||
input_store_two(
|
input_store_two(
|
||||||
ictx->b, CODE_ATTRIBUTES, s->attr, s->colr);
|
ictx->b, CODE_ATTRIBUTES, s->attr, s->colr);
|
||||||
input_store_two(ictx->b, CODE_SCROLLREGION,
|
input_store_two(ictx->b, CODE_SCROLLREGION,
|
||||||
s->ry_upper + 1, s->ry_lower + 1);
|
s->rupper + 1, s->rlower + 1);
|
||||||
input_store_two(
|
input_store_two(
|
||||||
ictx->b, CODE_CURSORMOVE, s->cy + 1, s->cx + 1);
|
ictx->b, CODE_CURSORMOVE, s->cy + 1, s->cx + 1);
|
||||||
break;
|
break;
|
||||||
@ -673,7 +673,7 @@ input_handle_sequence_dl(struct input_ctx *ictx)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s->cy < s->ry_upper || s->cy > s->ry_lower)
|
if (s->cy < s->rupper || s->cy > s->rlower)
|
||||||
screen_delete_lines(s, s->cy, n);
|
screen_delete_lines(s, s->cy, n);
|
||||||
else
|
else
|
||||||
screen_delete_lines_region(s, s->cy, n);
|
screen_delete_lines_region(s, s->cy, n);
|
||||||
@ -721,7 +721,7 @@ input_handle_sequence_il(struct input_ctx *ictx)
|
|||||||
log_debug3("il: out of range: %hu", n);
|
log_debug3("il: out of range: %hu", n);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (s->cy < s->ry_upper || s->cy > s->ry_lower)
|
if (s->cy < s->rupper || s->cy > s->rlower)
|
||||||
screen_insert_lines(s, s->cy, n);
|
screen_insert_lines(s, s->cy, n);
|
||||||
else
|
else
|
||||||
screen_insert_lines_region(s, s->cy, n);
|
screen_insert_lines_region(s, s->cy, n);
|
||||||
@ -1029,8 +1029,8 @@ input_handle_sequence_decstbm(struct input_ctx *ictx)
|
|||||||
s->cx = 0;
|
s->cx = 0;
|
||||||
s->cy = n - 1;
|
s->cy = n - 1;
|
||||||
|
|
||||||
s->ry_upper = n - 1;
|
s->rupper = n - 1;
|
||||||
s->ry_lower = m - 1;
|
s->rlower = m - 1;
|
||||||
input_store_two(ictx->b, CODE_SCROLLREGION, n, m);
|
input_store_two(ictx->b, CODE_SCROLLREGION, n, m);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
86
screen.c
86
screen.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: screen.c,v 1.23 2007-10-12 13:51:44 nicm Exp $ */
|
/* $Id: screen.c,v 1.24 2007-11-20 18:46:32 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -104,8 +104,8 @@ screen_create(struct screen *s, u_int sx, u_int sy)
|
|||||||
s->cx = 0;
|
s->cx = 0;
|
||||||
s->cy = 0;
|
s->cy = 0;
|
||||||
|
|
||||||
s->ry_upper = 0;
|
s->rupper = 0;
|
||||||
s->ry_lower = screen_last_y(s);
|
s->rlower = screen_last_y(s);
|
||||||
|
|
||||||
s->attr = SCREEN_DEFATTR;
|
s->attr = SCREEN_DEFATTR;
|
||||||
s->colr = SCREEN_DEFCOLR;
|
s->colr = SCREEN_DEFCOLR;
|
||||||
@ -142,8 +142,8 @@ screen_resize(struct screen *s, u_int sx, u_int sy)
|
|||||||
s->sx = sx;
|
s->sx = sx;
|
||||||
s->sy = sy;
|
s->sy = sy;
|
||||||
|
|
||||||
s->ry_upper = 0;
|
s->rupper = 0;
|
||||||
s->ry_lower = screen_last_y(s);
|
s->rlower = screen_last_y(s);
|
||||||
|
|
||||||
if (sy < oy) {
|
if (sy < oy) {
|
||||||
ny = oy - sy;
|
ny = oy - sy;
|
||||||
@ -237,7 +237,7 @@ screen_draw(struct screen *s, struct buffer *b, u_int uy, u_int ly)
|
|||||||
attr = 0;
|
attr = 0;
|
||||||
colr = SCREEN_DEFCOLR;
|
colr = SCREEN_DEFCOLR;
|
||||||
|
|
||||||
input_store_two(b, CODE_SCROLLREGION, s->ry_upper + 1, s->ry_lower + 1);
|
input_store_two(b, CODE_SCROLLREGION, s->rupper + 1, s->rlower + 1);
|
||||||
|
|
||||||
input_store_zero(b, CODE_CURSOROFF);
|
input_store_zero(b, CODE_CURSOROFF);
|
||||||
input_store_two(b, CODE_ATTRIBUTES, attr, colr);
|
input_store_two(b, CODE_ATTRIBUTES, attr, colr);
|
||||||
@ -349,7 +349,7 @@ screen_write_character(struct screen *s, u_char ch)
|
|||||||
void
|
void
|
||||||
screen_cursor_up_scroll(struct screen *s)
|
screen_cursor_up_scroll(struct screen *s)
|
||||||
{
|
{
|
||||||
if (s->cy == s->ry_upper)
|
if (s->cy == s->rupper)
|
||||||
screen_scroll_region_down(s);
|
screen_scroll_region_down(s);
|
||||||
else if (s->cy > 0)
|
else if (s->cy > 0)
|
||||||
s->cy--;
|
s->cy--;
|
||||||
@ -359,7 +359,7 @@ screen_cursor_up_scroll(struct screen *s)
|
|||||||
void
|
void
|
||||||
screen_cursor_down_scroll(struct screen *s)
|
screen_cursor_down_scroll(struct screen *s)
|
||||||
{
|
{
|
||||||
if (s->cy == s->ry_lower)
|
if (s->cy == s->rlower)
|
||||||
screen_scroll_region_up(s);
|
screen_scroll_region_up(s);
|
||||||
else if (s->cy < screen_last_y(s))
|
else if (s->cy < screen_last_y(s))
|
||||||
s->cy++;
|
s->cy++;
|
||||||
@ -369,62 +369,62 @@ screen_cursor_down_scroll(struct screen *s)
|
|||||||
void
|
void
|
||||||
screen_scroll_region_up(struct screen *s)
|
screen_scroll_region_up(struct screen *s)
|
||||||
{
|
{
|
||||||
log_debug("scrolling region up: %u:%u", s->ry_upper, s->ry_lower);
|
log_debug("scrolling region up: %u:%u", s->rupper, s->rlower);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Scroll scrolling region up:
|
* Scroll scrolling region up:
|
||||||
* - delete ry_upper
|
* - delete rupper
|
||||||
* - move ry_upper + 1 to ry_lower to ry_upper
|
* - move rupper + 1 to rlower to rupper
|
||||||
* - make new line at ry_lower
|
* - make new line at rlower
|
||||||
*
|
*
|
||||||
* Example: region is 12 to 24.
|
* Example: region is 12 to 24.
|
||||||
* ry_lower = 24, ry_upper = 12
|
* rlower = 24, rupper = 12
|
||||||
* screen_free_lines(s, 12, 1);
|
* screen_free_lines(s, 12, 1);
|
||||||
* screen_move_lines(s, 12, 13, 12);
|
* screen_move_lines(s, 12, 13, 12);
|
||||||
* screen_make_lines(s, 24, 1);
|
* screen_make_lines(s, 24, 1);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
screen_free_lines(s, s->ry_upper, 1);
|
screen_free_lines(s, s->rupper, 1);
|
||||||
|
|
||||||
if (s->ry_upper != s->ry_lower) {
|
if (s->rupper != s->rlower) {
|
||||||
screen_move_lines(s,
|
screen_move_lines(s,
|
||||||
s->ry_upper, s->ry_upper + 1, s->ry_lower - s->ry_upper);
|
s->rupper, s->rupper + 1, s->rlower - s->rupper);
|
||||||
}
|
}
|
||||||
|
|
||||||
screen_make_lines(s, s->ry_lower, 1);
|
screen_make_lines(s, s->rlower, 1);
|
||||||
screen_fill_lines(
|
screen_fill_lines(
|
||||||
s, s->ry_lower, 1, SCREEN_DEFDATA, SCREEN_DEFATTR, SCREEN_DEFCOLR);
|
s, s->rlower, 1, SCREEN_DEFDATA, SCREEN_DEFATTR, SCREEN_DEFCOLR);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Scroll region down. */
|
/* Scroll region down. */
|
||||||
void
|
void
|
||||||
screen_scroll_region_down(struct screen *s)
|
screen_scroll_region_down(struct screen *s)
|
||||||
{
|
{
|
||||||
log_debug("scrolling region down: %u:%u", s->ry_upper, s->ry_lower);
|
log_debug("scrolling region down: %u:%u", s->rupper, s->rlower);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Scroll scrolling region down:
|
* Scroll scrolling region down:
|
||||||
* - delete ry_lower
|
* - delete rlower
|
||||||
* - move ry_upper to ry_lower - 1 to ry_upper + 1
|
* - move rupper to rlower - 1 to rupper + 1
|
||||||
* - make new line at ry_upper
|
* - make new line at rupper
|
||||||
*
|
*
|
||||||
* Example: region is 12 to 24.
|
* Example: region is 12 to 24.
|
||||||
* ry_lower = 24, ry_upper = 12
|
* rlower = 24, rupper = 12
|
||||||
* screen_free_lines(s, 24, 1);
|
* screen_free_lines(s, 24, 1);
|
||||||
* screen_move_lines(s, 13, 12, 12);
|
* screen_move_lines(s, 13, 12, 12);
|
||||||
* screen_make_lines(s, 12, 1);
|
* screen_make_lines(s, 12, 1);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
screen_free_lines(s, s->ry_lower, 1);
|
screen_free_lines(s, s->rlower, 1);
|
||||||
|
|
||||||
if (s->ry_upper != s->ry_lower) {
|
if (s->rupper != s->rlower) {
|
||||||
screen_move_lines(s,
|
screen_move_lines(s,
|
||||||
s->ry_upper + 1, s->ry_upper, s->ry_lower - s->ry_upper);
|
s->rupper + 1, s->rupper, s->rlower - s->rupper);
|
||||||
}
|
}
|
||||||
|
|
||||||
screen_make_lines(s, s->ry_upper, 1);
|
screen_make_lines(s, s->rupper, 1);
|
||||||
screen_fill_lines(
|
screen_fill_lines(
|
||||||
s, s->ry_upper, 1, SCREEN_DEFDATA, SCREEN_DEFATTR, SCREEN_DEFCOLR);
|
s, s->rupper, 1, SCREEN_DEFDATA, SCREEN_DEFATTR, SCREEN_DEFCOLR);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Scroll screen up. */
|
/* Scroll screen up. */
|
||||||
@ -544,12 +544,12 @@ screen_insert_lines(struct screen *s, u_int py, u_int ny)
|
|||||||
void
|
void
|
||||||
screen_insert_lines_region(struct screen *s, u_int py, u_int ny)
|
screen_insert_lines_region(struct screen *s, u_int py, u_int ny)
|
||||||
{
|
{
|
||||||
if (py < s->ry_upper || py > s->ry_lower)
|
if (py < s->rupper || py > s->rlower)
|
||||||
return;
|
return;
|
||||||
if (py + ny > s->ry_lower)
|
if (py + ny > s->rlower)
|
||||||
ny = s->ry_lower - py;
|
ny = s->rlower - py;
|
||||||
log_debug("inserting lines in region: %u,%u (%u,%u)", py, ny,
|
log_debug("inserting lines in region: %u,%u (%u,%u)", py, ny,
|
||||||
s->ry_upper, s->ry_lower);
|
s->rupper, s->rlower);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Insert range of ny lines at py:
|
* Insert range of ny lines at py:
|
||||||
@ -564,10 +564,10 @@ screen_insert_lines_region(struct screen *s, u_int py, u_int ny)
|
|||||||
* screen_make_lines(s, 13, 2); - make lines 13,14
|
* screen_make_lines(s, 13, 2); - make lines 13,14
|
||||||
*/
|
*/
|
||||||
|
|
||||||
screen_free_lines(s, (s->ry_lower + 1) - ny, ny);
|
screen_free_lines(s, (s->rlower + 1) - ny, ny);
|
||||||
|
|
||||||
if (py != s->ry_lower)
|
if (py != s->rlower)
|
||||||
screen_move_lines(s, py + ny, py, (s->ry_lower + 1) - py - ny);
|
screen_move_lines(s, py + ny, py, (s->rlower + 1) - py - ny);
|
||||||
|
|
||||||
screen_make_lines(s, py, ny);
|
screen_make_lines(s, py, ny);
|
||||||
screen_fill_lines(
|
screen_fill_lines(
|
||||||
@ -612,12 +612,12 @@ screen_delete_lines(struct screen *s, u_int py, u_int ny)
|
|||||||
void
|
void
|
||||||
screen_delete_lines_region(struct screen *s, u_int py, u_int ny)
|
screen_delete_lines_region(struct screen *s, u_int py, u_int ny)
|
||||||
{
|
{
|
||||||
if (py < s->ry_upper || py > s->ry_lower)
|
if (py < s->rupper || py > s->rlower)
|
||||||
return;
|
return;
|
||||||
if (py + ny > s->ry_lower)
|
if (py + ny > s->rlower)
|
||||||
ny = s->ry_lower - py;
|
ny = s->rlower - py;
|
||||||
log_debug("deleting lines in region: %u,%u (%u,%u)", py, ny,
|
log_debug("deleting lines in region: %u,%u (%u,%u)", py, ny,
|
||||||
s->ry_upper, s->ry_lower);
|
s->rupper, s->rlower);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Delete range of ny lines at py:
|
* Delete range of ny lines at py:
|
||||||
@ -634,11 +634,11 @@ screen_delete_lines_region(struct screen *s, u_int py, u_int ny)
|
|||||||
|
|
||||||
screen_free_lines(s, py, ny);
|
screen_free_lines(s, py, ny);
|
||||||
|
|
||||||
if (py != s->ry_lower)
|
if (py != s->rlower)
|
||||||
screen_move_lines(s, py, py + ny, (s->ry_lower + 1) - py - ny);
|
screen_move_lines(s, py, py + ny, (s->rlower + 1) - py - ny);
|
||||||
|
|
||||||
screen_make_lines(s, (s->ry_lower + 1) - ny, ny);
|
screen_make_lines(s, (s->rlower + 1) - ny, ny);
|
||||||
screen_fill_lines(s, (s->ry_lower + 1) - ny,
|
screen_fill_lines(s, (s->rlower + 1) - ny,
|
||||||
ny, SCREEN_DEFDATA, SCREEN_DEFATTR, SCREEN_DEFCOLR);
|
ny, SCREEN_DEFDATA, SCREEN_DEFATTR, SCREEN_DEFCOLR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
6
tmux.h
6
tmux.h
@ -1,4 +1,4 @@
|
|||||||
/* $Id: tmux.h,v 1.82 2007-11-20 18:11:37 nicm Exp $ */
|
/* $Id: tmux.h,v 1.83 2007-11-20 18:46:32 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -357,8 +357,8 @@ struct screen {
|
|||||||
u_int sx; /* size x */
|
u_int sx; /* size x */
|
||||||
u_int sy; /* size y */
|
u_int sy; /* size y */
|
||||||
|
|
||||||
u_int ry_upper; /* scroll region top */
|
u_int rupper; /* scroll region top */
|
||||||
u_int ry_lower; /* scroll region bottom */
|
u_int rlower; /* scroll region bottom */
|
||||||
|
|
||||||
u_int cx; /* cursor x */
|
u_int cx; /* cursor x */
|
||||||
u_int cy; /* cursor y */
|
u_int cy; /* cursor y */
|
||||||
|
Loading…
Reference in New Issue
Block a user