mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Update TODO.
This commit is contained in:
		
							
								
								
									
										7
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								TODO
									
									
									
									
									
								
							@@ -89,11 +89,12 @@
 | 
				
			|||||||
- test bug sshing from freebsd console
 | 
					- test bug sshing from freebsd console
 | 
				
			||||||
- better support for stupid margin terminals. strcmp for cons25 sucks, how can
 | 
					- better support for stupid margin terminals. strcmp for cons25 sucks, how can
 | 
				
			||||||
  these be autodetected?
 | 
					  these be autodetected?
 | 
				
			||||||
 | 
					- refer to windows by name etc (duplicates? fnmatch?)
 | 
				
			||||||
 | 
					- n/p repeat is annoying, turn off
 | 
				
			||||||
 | 
					- repeat should be a key flag and should be configurable (bind -r)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- document status-keys
 | 
					- document status-keys
 | 
				
			||||||
- document break-pane
 | 
					- document break-pane
 | 
				
			||||||
- document -8 flag
 | 
					- document -8 flag
 | 
				
			||||||
- document set-remain-on-exit
 | 
					- document set-remain-on-exit
 | 
				
			||||||
- refer to windows by name etc (duplicates? fnmatch?)
 | 
					 | 
				
			||||||
- n/p repeat is annoying, turn off
 | 
					 | 
				
			||||||
- repeat should be a key flag and should be configurable (bind -r)
 | 
					 | 
				
			||||||
- document -L and update socket path bits in tmux.1
 | 
					- document -L and update socket path bits in tmux.1
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: screen-redraw.c,v 1.26 2009-02-21 17:52:25 nicm Exp $ */
 | 
					/* $Id: screen-redraw.c,v 1.27 2009-03-27 16:44:00 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -128,21 +128,5 @@ screen_redraw_blanky(struct client *c, u_int oy, u_int ny, char ch)
 | 
				
			|||||||
void
 | 
					void
 | 
				
			||||||
screen_redraw_line(struct client *c, struct screen *s, u_int oy, u_int py)
 | 
					screen_redraw_line(struct client *c, struct screen *s, u_int oy, u_int py)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	const struct grid_cell	*gc;
 | 
						tty_draw_line(&c->tty, s, py, oy);
 | 
				
			||||||
	struct grid_cell	 tc;
 | 
					 | 
				
			||||||
	u_int			 i, sx;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	sx = screen_size_x(s);
 | 
					 | 
				
			||||||
	if (sx > c->tty.sx)
 | 
					 | 
				
			||||||
		sx = c->tty.sx;
 | 
					 | 
				
			||||||
	for (i = 0; i < sx; i++) {
 | 
					 | 
				
			||||||
		gc = grid_view_peek_cell(s->grid, i, py);
 | 
					 | 
				
			||||||
 		tty_cursor(&c->tty, i, py, oy);
 | 
					 | 
				
			||||||
		if (screen_check_selection(s, i, py)) {
 | 
					 | 
				
			||||||
			memcpy(&tc, &s->sel.cell, sizeof tc);
 | 
					 | 
				
			||||||
			tc.data = gc->data;
 | 
					 | 
				
			||||||
			tty_cell(&c->tty, &tc);
 | 
					 | 
				
			||||||
		} else
 | 
					 | 
				
			||||||
			tty_cell(&c->tty, gc);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								tmux.h
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: tmux.h,v 1.281 2009-03-27 15:57:10 nicm Exp $ */
 | 
					/* $Id: tmux.h,v 1.282 2009-03-27 16:44:00 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -1065,6 +1065,7 @@ void		 tty_start_tty(struct tty *);
 | 
				
			|||||||
void		 tty_stop_tty(struct tty *);
 | 
					void		 tty_stop_tty(struct tty *);
 | 
				
			||||||
void		 tty_set_title(struct tty *, const char *);
 | 
					void		 tty_set_title(struct tty *, const char *);
 | 
				
			||||||
void		 tty_update_mode(struct tty *, int);
 | 
					void		 tty_update_mode(struct tty *, int);
 | 
				
			||||||
 | 
					void		 tty_draw_line(struct tty *, struct screen *, u_int, u_int);
 | 
				
			||||||
int		 tty_open(struct tty *, char **);
 | 
					int		 tty_open(struct tty *, char **);
 | 
				
			||||||
void		 tty_close(struct tty *, int);
 | 
					void		 tty_close(struct tty *, int);
 | 
				
			||||||
void		 tty_free(struct tty *, int);
 | 
					void		 tty_free(struct tty *, int);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										51
									
								
								tty.c
									
									
									
									
									
								
							
							
						
						
									
										51
									
								
								tty.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: tty.c,v 1.80 2009-03-07 10:29:06 nicm Exp $ */
 | 
					/* $Id: tty.c,v 1.81 2009-03-27 16:44:00 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -32,7 +32,6 @@ u_char	tty_get_acs(struct tty *, u_char);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void	tty_emulate_repeat(
 | 
					void	tty_emulate_repeat(
 | 
				
			||||||
    	    struct tty *, enum tty_code_code, enum tty_code_code, u_int);
 | 
					    	    struct tty *, enum tty_code_code, enum tty_code_code, u_int);
 | 
				
			||||||
void	tty_draw_line(struct tty *, struct window_pane *, u_int);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
void	tty_raw(struct tty *, const char *);
 | 
					void	tty_raw(struct tty *, const char *);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -380,23 +379,41 @@ tty_emulate_repeat(
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
tty_draw_line(struct tty *tty, struct window_pane *wp, u_int py)
 | 
					tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int oy)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct screen		*s = wp->screen;
 | 
						const struct grid_cell	*gc; 
 | 
				
			||||||
	const struct grid_cell	*gc;
 | 
					 | 
				
			||||||
	struct grid_cell	 tc;
 | 
						struct grid_cell	 tc;
 | 
				
			||||||
	u_int			 i;
 | 
						u_int			 i, sx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (i = 0; i < tty->sx; i++) {
 | 
						sx = screen_size_x(s);
 | 
				
			||||||
 | 
						if (sx > tty->sx)
 | 
				
			||||||
 | 
							sx = tty->sx;
 | 
				
			||||||
 | 
						if (sx > s->grid->size[s->grid->hsize + py])
 | 
				
			||||||
 | 
							sx = s->grid->size[s->grid->hsize + py];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for (i = 0; i < sx; i++) {
 | 
				
			||||||
		gc = grid_view_peek_cell(s->grid, i, py);
 | 
							gc = grid_view_peek_cell(s->grid, i, py);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 		tty_cursor(tty, i, py, wp->yoff);
 | 
					 | 
				
			||||||
		if (screen_check_selection(s, i, py)) {
 | 
							if (screen_check_selection(s, i, py)) {
 | 
				
			||||||
			memcpy(&tc, &s->sel.cell, sizeof tc);
 | 
								memcpy(&tc, &s->sel.cell, sizeof tc);
 | 
				
			||||||
			tc.data = gc->data;
 | 
								tc.data = gc->data;
 | 
				
			||||||
			tty_cell(tty, &tc);
 | 
								gc = &tc;
 | 
				
			||||||
		} else
 | 
							} 
 | 
				
			||||||
			tty_cell(tty, gc);
 | 
							
 | 
				
			||||||
 | 
					 		tty_cursor(tty, i, py, oy);
 | 
				
			||||||
 | 
							tty_cell(tty, gc);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (sx >= s->grid->size[s->grid->hsize + py])
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						tty_reset(tty);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						tty_cursor(tty, sx, py, oy);
 | 
				
			||||||
 | 
						if (tty_term_has(tty->term, TTYC_EL))
 | 
				
			||||||
 | 
							tty_putcode(tty, TTYC_EL);
 | 
				
			||||||
 | 
						else {
 | 
				
			||||||
 | 
							for (i = sx; i < screen_size_x(s); i++)
 | 
				
			||||||
 | 
								tty_putc(tty, ' ');
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -469,10 +486,10 @@ tty_cmd_insertline(struct tty *tty, struct window_pane *wp, va_list ap)
 | 
				
			|||||||
		 */
 | 
							 */
 | 
				
			||||||
		if (s->old_cy < s->old_rupper || s->old_cy > s->old_rlower) {
 | 
							if (s->old_cy < s->old_rupper || s->old_cy > s->old_rlower) {
 | 
				
			||||||
			for (i = s->old_cy; i < screen_size_y(s); i++)
 | 
								for (i = s->old_cy; i < screen_size_y(s); i++)
 | 
				
			||||||
				tty_draw_line(tty, wp, i);
 | 
									tty_draw_line(tty, wp->screen, i, wp->yoff);
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			for (i = s->old_rupper; i <= s->old_rlower; i++)
 | 
								for (i = s->old_rupper; i <= s->old_rlower; i++)
 | 
				
			||||||
				tty_draw_line(tty, wp, i);
 | 
									tty_draw_line(tty, wp->screen, i, wp->yoff);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -500,10 +517,10 @@ tty_cmd_deleteline(struct tty *tty, struct window_pane *wp, va_list ap)
 | 
				
			|||||||
		 */
 | 
							 */
 | 
				
			||||||
		if (s->old_cy < s->old_rupper || s->old_cy > s->old_rlower) {
 | 
							if (s->old_cy < s->old_rupper || s->old_cy > s->old_rlower) {
 | 
				
			||||||
			for (i = s->old_cy; i < screen_size_y(s); i++)
 | 
								for (i = s->old_cy; i < screen_size_y(s); i++)
 | 
				
			||||||
				tty_draw_line(tty, wp, i);
 | 
									tty_draw_line(tty, wp->screen, i, wp->yoff);
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			for (i = s->old_rupper; i <= s->old_rlower; i++)
 | 
								for (i = s->old_rupper; i <= s->old_rlower; i++)
 | 
				
			||||||
				tty_draw_line(tty, wp, i);
 | 
									tty_draw_line(tty, wp->screen, i, wp->yoff);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -585,7 +602,7 @@ tty_cmd_reverseindex(struct tty *tty, struct window_pane *wp, unused va_list ap)
 | 
				
			|||||||
		 */
 | 
							 */
 | 
				
			||||||
		if (s->old_cy == s->old_rupper) {
 | 
							if (s->old_cy == s->old_rupper) {
 | 
				
			||||||
			for (i = s->old_rupper; i <= s->old_rlower; i++)
 | 
								for (i = s->old_rupper; i <= s->old_rlower; i++)
 | 
				
			||||||
				tty_draw_line(tty, wp, i);
 | 
									tty_draw_line(tty, wp->screen, i, wp->yoff);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -613,7 +630,7 @@ tty_cmd_linefeed(struct tty *tty, struct window_pane *wp, unused va_list ap)
 | 
				
			|||||||
		 */
 | 
							 */
 | 
				
			||||||
		if (s->old_cy == s->old_rlower) {
 | 
							if (s->old_cy == s->old_rlower) {
 | 
				
			||||||
			for (i = s->old_rupper; i <= s->old_rlower; i++)
 | 
								for (i = s->old_rupper; i <= s->old_rlower; i++)
 | 
				
			||||||
				tty_draw_line(tty, wp, i);
 | 
									tty_draw_line(tty, wp->screen, i, wp->yoff);
 | 
				
			||||||
			return;
 | 
								return;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user