mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Use screen_* versions to avoid range checks (s->dy may be wrong), fix miscalculated free.
This commit is contained in:
		
							
								
								
									
										10
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								TODO
									
									
									
									
									
								
							@@ -66,16 +66,14 @@
 | 
			
		||||
  some -s after, some no -s, there are various uses of -n. the differences are
 | 
			
		||||
  sort of logical, but confusing. needs rethought
 | 
			
		||||
- XXX should -i for win idx be before cmd too??
 | 
			
		||||
- bind non prefix keys (useful for shift-pageup for scrollback, when we
 | 
			
		||||
  have scrollback)
 | 
			
		||||
- for scrollback (?) or copy/paste, modal key/display handling (key/draw
 | 
			
		||||
  through function pointers in screen). also move ? etc to that too
 | 
			
		||||
- bind non prefix keys
 | 
			
		||||
- 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
 | 
			
		||||
- there is to much redrawing. use flags? (there was a problem with this idea..?)
 | 
			
		||||
- use modes for help etc
 | 
			
		||||
- scrollback should only draw scrolled line on up/down
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- For 0.2 --------------------------------------------------------------------
 | 
			
		||||
- copy and paste
 | 
			
		||||
- scrollback
 | 
			
		||||
	phys screen vs virt screen? or seperate scrollback buffer?
 | 
			
		||||
- window splitting?
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								screen.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								screen.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
/* $Id: screen.c,v 1.28 2007-11-21 13:11:41 nicm Exp $ */
 | 
			
		||||
/* $Id: screen.c,v 1.29 2007-11-21 14:30:15 nicm Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
			
		||||
@@ -160,8 +160,8 @@ screen_resize(struct screen *s, u_int sx, u_int sy)
 | 
			
		||||
			if (my > ny)
 | 
			
		||||
				my = ny;
 | 
			
		||||
 | 
			
		||||
			screen_display_free_lines(s, 0, my);
 | 
			
		||||
			screen_display_move_lines(s, 0, my, oy - my);
 | 
			
		||||
			screen_free_lines(s, s->hsize, my);
 | 
			
		||||
			screen_move_lines(s, s->hsize, my, oy - my);
 | 
			
		||||
 | 
			
		||||
			s->cy -= my;
 | 
			
		||||
			oy -= my;
 | 
			
		||||
@@ -172,7 +172,7 @@ screen_resize(struct screen *s, u_int sx, u_int sy)
 | 
			
		||||
			/*
 | 
			
		||||
			 * Remove any remaining lines from the bottom.
 | 
			
		||||
			 */
 | 
			
		||||
			screen_display_free_lines(s, oy, ny);
 | 
			
		||||
			screen_free_lines(s, s->hsize + oy - ny, ny);
 | 
			
		||||
			if (s->cy >= sy)
 | 
			
		||||
				s->cy = sy - 1;
 | 
			
		||||
		}
 | 
			
		||||
@@ -187,7 +187,7 @@ screen_resize(struct screen *s, u_int sx, u_int sy)
 | 
			
		||||
 | 
			
		||||
	/* Size increasing. */
 | 
			
		||||
	if (sy > oy)
 | 
			
		||||
		screen_display_make_lines(s, oy, sy - oy);
 | 
			
		||||
		screen_make_lines(s, s->hsize + oy, sy - oy);
 | 
			
		||||
 | 
			
		||||
	s->rupper = 0;
 | 
			
		||||
	s->rlower = s->dy - 1;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user