mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	New window options: force-width and force-height. This will force a window to
an arbitrary width and height (0 for the default unlimited). This is neat for emacs which doesn't have a sensible way to force hard wrapping at 80 columns. Also, don't try to be clever and use clr_eol when redrawing the whole screen, it causes trouble since the redraw functions are used to draw the blank areas too.
This commit is contained in:
		
							
								
								
									
										10
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								CHANGES
									
									
									
									
									
								
							@@ -1,5 +1,13 @@
 | 
				
			|||||||
14 June 2008
 | 
					14 June 2008
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* New window options: force-width and force-height. This will force a window
 | 
				
			||||||
 | 
					  to an arbitrary width and height (0 for the default unlimited). This is
 | 
				
			||||||
 | 
					  neat for emacs which doesn't have a sensible way to force hard wrapping at 80
 | 
				
			||||||
 | 
					  columns. Also, don't try to be clever and use clr_eol when redrawing the
 | 
				
			||||||
 | 
					  whole screen, it causes trouble since the redraw functions are used to draw
 | 
				
			||||||
 | 
					  the blank areas too.
 | 
				
			||||||
 | 
					* Clear the blank area below windows properly when they are smaller than client,
 | 
				
			||||||
 | 
					  also add an indicator line to show the vertical limit.
 | 
				
			||||||
* Don't die on empty strings in config file, reported by Will Maier.
 | 
					* Don't die on empty strings in config file, reported by Will Maier.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
08 June 2008
 | 
					08 June 2008
 | 
				
			||||||
@@ -464,4 +472,4 @@
 | 
				
			|||||||
  (including mutt, emacs). No status bar yet and no key remapping or other
 | 
					  (including mutt, emacs). No status bar yet and no key remapping or other
 | 
				
			||||||
  customisation.
 | 
					  customisation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$Id: CHANGES,v 1.118 2008-06-14 08:11:16 nicm Exp $
 | 
					$Id: CHANGES,v 1.119 2008-06-14 16:47:20 nicm Exp $
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								TODO
									
									
									
									
									
								
							@@ -75,4 +75,7 @@
 | 
				
			|||||||
- test and fix wsvt25
 | 
					- test and fix wsvt25
 | 
				
			||||||
- activity/bell should be per-window not per-link? what if it is cur win in
 | 
					- activity/bell should be per-window not per-link? what if it is cur win in
 | 
				
			||||||
  session not being watched?
 | 
					  session not being watched?
 | 
				
			||||||
- empty strings in config causes crash (lt_kije)
 | 
					- man page:
 | 
				
			||||||
 | 
					      set-window-option
 | 
				
			||||||
 | 
					      explanation of -t format
 | 
				
			||||||
 | 
					      config file
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: cmd-set-window-option.c,v 1.6 2008-06-06 20:02:27 nicm Exp $ */
 | 
					/* $Id: cmd-set-window-option.c,v 1.7 2008-06-14 16:47:20 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -166,6 +166,34 @@ cmd_set_window_option_exec(struct cmd *self, struct cmd_ctx *ctx)
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		recalculate_sizes();
 | 
							recalculate_sizes();
 | 
				
			||||||
 | 
						} else if (strcmp(data->option, "force-width") == 0) {
 | 
				
			||||||
 | 
							if (data->value == NULL || number == -1) {
 | 
				
			||||||
 | 
								ctx->error(ctx, "invalid value");
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if (errstr != NULL) {
 | 
				
			||||||
 | 
								ctx->error(ctx, "force-width %s", errstr);
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if (number == 0)
 | 
				
			||||||
 | 
								wl->window->limitx = UINT_MAX;
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								wl->window->limitx = number;
 | 
				
			||||||
 | 
							recalculate_sizes();
 | 
				
			||||||
 | 
						} else if (strcmp(data->option, "force-height") == 0) {
 | 
				
			||||||
 | 
							if (data->value == NULL || number == -1) {
 | 
				
			||||||
 | 
								ctx->error(ctx, "invalid value");
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if (errstr != NULL) {
 | 
				
			||||||
 | 
								ctx->error(ctx, "force-height %s", errstr);
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if (number == 0)
 | 
				
			||||||
 | 
								wl->window->limity = UINT_MAX;
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								wl->window->limity = number;
 | 
				
			||||||
 | 
							recalculate_sizes();
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		ctx->error(ctx, "unknown option: %s", data->option);
 | 
							ctx->error(ctx, "unknown option: %s", data->option);
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										7
									
								
								resize.c
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								resize.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: resize.c,v 1.14 2008-06-14 12:05:06 nicm Exp $ */
 | 
					/* $Id: resize.c,v 1.15 2008-06-14 16:47:20 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -114,6 +114,11 @@ recalculate_sizes(void)
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
		w->flags &= ~WINDOW_HIDDEN;
 | 
							w->flags &= ~WINDOW_HIDDEN;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (ssx > w->limitx)
 | 
				
			||||||
 | 
								ssx = w->limitx;
 | 
				
			||||||
 | 
							if (ssy > w->limity)
 | 
				
			||||||
 | 
								ssy = w->limity;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (screen_size_x(&w->base) == ssx &&
 | 
							if (screen_size_x(&w->base) == ssx &&
 | 
				
			||||||
		    screen_size_y(&w->base) == ssy)
 | 
							    screen_size_y(&w->base) == ssy)
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: screen-redraw.c,v 1.5 2008-06-14 12:05:06 nicm Exp $ */
 | 
					/* $Id: screen-redraw.c,v 1.6 2008-06-14 16:47:20 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -181,19 +181,12 @@ screen_redraw_area(
 | 
				
			|||||||
void
 | 
					void
 | 
				
			||||||
screen_redraw_lines(struct screen_redraw_ctx *ctx, u_int py, u_int ny)
 | 
					screen_redraw_lines(struct screen_redraw_ctx *ctx, u_int py, u_int ny)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	u_int	i, cx, sx;
 | 
						screen_redraw_area(ctx, 0, py, screen_size_x(ctx->s), py + ny);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
	sx = screen_size_x(ctx->s);
 | 
					
 | 
				
			||||||
	for (i = py; i < py + ny; i++) {
 | 
					/* Draw set of columns. */
 | 
				
			||||||
		cx = ctx->s->grid_size[screen_y(ctx->s, i)];
 | 
					void
 | 
				
			||||||
		if (ctx->s->sel.flag || sx < 5 || cx >= sx - 5) {
 | 
					screen_redraw_columns(struct screen_redraw_ctx *ctx, u_int px, u_int nx)
 | 
				
			||||||
			screen_redraw_area(ctx, 0, i, screen_size_x(ctx->s), 1);
 | 
					{
 | 
				
			||||||
			continue;
 | 
						screen_redraw_area(ctx, px, 0, px + nx, screen_size_y(ctx->s));
 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		screen_redraw_area(ctx, 0, i, cx, 1);
 | 
					 | 
				
			||||||
		screen_redraw_move_cursor(ctx, cx, i);
 | 
					 | 
				
			||||||
		screen_redraw_set_attributes(
 | 
					 | 
				
			||||||
		    ctx, SCREEN_DEFATTR, SCREEN_DEFCOLR);
 | 
					 | 
				
			||||||
		ctx->write(ctx->data, TTY_CLEARENDOFLINE);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: server-fn.c,v 1.40 2008-06-07 07:13:08 nicm Exp $ */
 | 
					/* $Id: server-fn.c,v 1.41 2008-06-14 16:47:20 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -183,6 +183,6 @@ server_write_message(struct client *c, const char *fmt, ...)
 | 
				
			|||||||
		screen_redraw_stop(&ctx);
 | 
							screen_redraw_stop(&ctx);
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		screen_redraw_stop(&ctx);
 | 
							screen_redraw_stop(&ctx);
 | 
				
			||||||
		status_write_client(c);
 | 
							server_status_client(c);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										31
									
								
								server.c
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								server.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: server.c,v 1.62 2008-06-14 12:05:06 nicm Exp $ */
 | 
					/* $Id: server.c,v 1.63 2008-06-14 16:47:20 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -312,31 +312,34 @@ server_check_redraw(struct client *c)
 | 
				
			|||||||
	if (c->flags & CLIENT_REDRAW) {
 | 
						if (c->flags & CLIENT_REDRAW) {
 | 
				
			||||||
		sx = screen_size_x(c->session->curw->window->screen);
 | 
							sx = screen_size_x(c->session->curw->window->screen);
 | 
				
			||||||
		sy = screen_size_y(c->session->curw->window->screen);
 | 
							sy = screen_size_y(c->session->curw->window->screen);
 | 
				
			||||||
		if (sy < yy) {
 | 
							if (sx < xx || sy < yy) {
 | 
				
			||||||
			/*
 | 
								/*
 | 
				
			||||||
			 * Fake up a blank(ish) screen and use it. NOTE: because
 | 
								 * Fake up a blank(ish) screen and use it to draw the 
 | 
				
			||||||
			 * this uses tty_write_client but doesn't write the
 | 
								 * empty regions. NOTE: because this uses
 | 
				
			||||||
			 * client's screen, this can't use anything which
 | 
								 * tty_write_client but doesn't write the client's
 | 
				
			||||||
			 * relies on cursor position. This is icky and might
 | 
								 * screen, this can't use anything which relies on
 | 
				
			||||||
			 * break if we try to optimise redrawing later :-/.
 | 
								 * cursor position.
 | 
				
			||||||
			 */
 | 
								 */
 | 
				
			||||||
			screen_create(&screen, xx, yy, 0);
 | 
								screen_create(&screen, xx, yy, 0);
 | 
				
			||||||
			screen_fill_area(&screen, 0, 0, xx, yy, ' ', 0, 0x70);
 | 
					 | 
				
			||||||
			screen_fill_area(&screen, 0, sy, sx, 1, '-', 0, 0x70);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			screen_redraw_start(&ctx, &screen, tty_write_client, c);
 | 
								screen_redraw_start(&ctx, &screen, tty_write_client, c);
 | 
				
			||||||
			screen_redraw_lines(&ctx, sy, yy - sy);
 | 
								if (sx < xx)
 | 
				
			||||||
 | 
									screen_redraw_columns(&ctx, sx, xx - sx);
 | 
				
			||||||
 | 
								if (sy < yy)  {
 | 
				
			||||||
 | 
									screen_fill_area(&screen, 
 | 
				
			||||||
 | 
									    0, sy, xx, 1, '-', 0, 0x70);
 | 
				
			||||||
 | 
									screen_redraw_lines(&ctx, sy, yy - sy);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
			screen_redraw_stop(&ctx);
 | 
								screen_redraw_stop(&ctx);
 | 
				
			||||||
 | 
					 | 
				
			||||||
			screen_destroy(&screen);
 | 
								screen_destroy(&screen);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		screen_redraw_start_client(&ctx, c);
 | 
							screen_redraw_start_client(&ctx, c);
 | 
				
			||||||
		screen_redraw_lines(&ctx, 0, screen_size_y(ctx.s));
 | 
							screen_redraw_lines(&ctx, 0, screen_size_y(ctx.s));
 | 
				
			||||||
		screen_redraw_stop(&ctx);
 | 
							screen_redraw_stop(&ctx);
 | 
				
			||||||
		status_write_client(c);	
 | 
					
 | 
				
			||||||
 | 
							status_redraw(c);
 | 
				
			||||||
	} else if (c->flags & CLIENT_STATUS)
 | 
						} else if (c->flags & CLIENT_STATUS)
 | 
				
			||||||
		status_write_client(c);	
 | 
							status_redraw(c);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	c->flags &= ~(CLIENT_CLEAR|CLIENT_REDRAW|CLIENT_STATUS);
 | 
						c->flags &= ~(CLIENT_CLEAR|CLIENT_REDRAW|CLIENT_STATUS);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										61
									
								
								status.c
									
									
									
									
									
								
							
							
						
						
									
										61
									
								
								status.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: status.c,v 1.24 2008-06-07 07:27:28 nicm Exp $ */
 | 
					/* $Id: status.c,v 1.25 2008-06-14 16:47:20 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -24,18 +24,17 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "tmux.h"
 | 
					#include "tmux.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void printflike3 status_print(struct buffer *, size_t *, const char *, ...);
 | 
					/* Draw status for client on the last lines of given context. */
 | 
				
			||||||
 | 
					 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
status_write_client(struct client *c)
 | 
					status_redraw(struct client *c)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct screen_redraw_ctx	ctx;
 | 
						struct screen_redraw_ctx	ctx;
 | 
				
			||||||
	struct winlink	       	       *wl;
 | 
						struct winlink		       *wl;
 | 
				
			||||||
	char				flag, *left, *right;
 | 
						char		 		flag, *left, *right;
 | 
				
			||||||
	char			        lbuf[BUFSIZ], rbuf[BUFSIZ];
 | 
						char				lbuf[BUFSIZ], rbuf[BUFSIZ];
 | 
				
			||||||
	size_t				llen, rlen;
 | 
						size_t				llen, rlen;
 | 
				
			||||||
	u_char				scolour;
 | 
						u_char		 		scolour;
 | 
				
			||||||
	u_int				slines;
 | 
						u_int		 		slines;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	scolour = options_get_number(&c->session->options, "status-colour");
 | 
						scolour = options_get_number(&c->session->options, "status-colour");
 | 
				
			||||||
	slines = options_get_number(&c->session->options, "status-lines");
 | 
						slines = options_get_number(&c->session->options, "status-lines");
 | 
				
			||||||
@@ -78,10 +77,10 @@ status_write_client(struct client *c)
 | 
				
			|||||||
			screen_redraw_set_attributes(&ctx, 0, scolour);
 | 
								screen_redraw_set_attributes(&ctx, 0, scolour);
 | 
				
			||||||
		screen_redraw_write_string(&ctx, " ");
 | 
							screen_redraw_write_string(&ctx, " ");
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		if (ctx.s->cx > screen_size_x(ctx.s) - rlen)
 | 
							if (ctx.s->cx > c->sx - rlen)
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	while (ctx.s->cx < screen_size_x(ctx.s) - rlen) {
 | 
						while (ctx.s->cx < c->sx - rlen) {
 | 
				
			||||||
		ctx.write(ctx.data, TTY_CHARACTER, ' ');
 | 
							ctx.write(ctx.data, TTY_CHARACTER, ' ');
 | 
				
			||||||
		ctx.s->cx++;
 | 
							ctx.s->cx++;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -89,46 +88,8 @@ status_write_client(struct client *c)
 | 
				
			|||||||
	screen_redraw_move_cursor(&ctx, 0, c->sy - slines);
 | 
						screen_redraw_move_cursor(&ctx, 0, c->sy - slines);
 | 
				
			||||||
	screen_redraw_write_string(&ctx, "%s ", lbuf);
 | 
						screen_redraw_write_string(&ctx, "%s ", lbuf);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	screen_redraw_move_cursor(
 | 
						screen_redraw_move_cursor(&ctx, c->sx - rlen, c->sy - slines);
 | 
				
			||||||
	    &ctx, screen_size_x(ctx.s) - rlen, c->sy - slines);
 | 
					 | 
				
			||||||
	screen_redraw_write_string(&ctx, " %s", rbuf);
 | 
						screen_redraw_write_string(&ctx, " %s", rbuf);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	screen_redraw_stop(&ctx);
 | 
						screen_redraw_stop(&ctx);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
void
 | 
					 | 
				
			||||||
status_write_window(struct window *w)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	struct client	*c;
 | 
					 | 
				
			||||||
	u_int		 i;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (w->flags & WINDOW_HIDDEN)
 | 
					 | 
				
			||||||
		return;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
 | 
					 | 
				
			||||||
		c = ARRAY_ITEM(&clients, i);
 | 
					 | 
				
			||||||
		if (c == NULL || c->session == NULL)
 | 
					 | 
				
			||||||
			continue;
 | 
					 | 
				
			||||||
		if (c->session->curw->window != w)
 | 
					 | 
				
			||||||
			continue;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		status_write_client(c);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void
 | 
					 | 
				
			||||||
status_write_session(struct session *s)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	struct client	*c;
 | 
					 | 
				
			||||||
	u_int		 i;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (s->flags & SESSION_UNATTACHED)
 | 
					 | 
				
			||||||
		return;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
 | 
					 | 
				
			||||||
		c = ARRAY_ITEM(&clients, i);
 | 
					 | 
				
			||||||
		if (c == NULL || c->session != s)
 | 
					 | 
				
			||||||
			continue;
 | 
					 | 
				
			||||||
		status_write_client(c);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										10
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								tmux.h
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: tmux.h,v 1.140 2008-06-14 12:05:06 nicm Exp $ */
 | 
					/* $Id: tmux.h,v 1.141 2008-06-14 16:47:20 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -529,6 +529,9 @@ struct window {
 | 
				
			|||||||
#define WINDOW_MONITOR 0x8
 | 
					#define WINDOW_MONITOR 0x8
 | 
				
			||||||
#define WINDOW_AGGRESSIVE 0x10
 | 
					#define WINDOW_AGGRESSIVE 0x10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						u_int		 limitx;
 | 
				
			||||||
 | 
						u_int		 limity;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	struct screen	*screen;
 | 
						struct screen	*screen;
 | 
				
			||||||
	struct screen	 base;
 | 
						struct screen	 base;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -918,9 +921,7 @@ void	 server_status_window(struct window *);
 | 
				
			|||||||
void printflike2 server_write_message(struct client *, const char *, ...);
 | 
					void printflike2 server_write_message(struct client *, const char *, ...);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* status.c */
 | 
					/* status.c */
 | 
				
			||||||
void	 status_write_client(struct client *);
 | 
					void	 status_redraw(struct client *c);
 | 
				
			||||||
void	 status_write_session(struct session *);
 | 
					 | 
				
			||||||
void	 status_write_window(struct window *);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* resize.c */
 | 
					/* resize.c */
 | 
				
			||||||
void	 recalculate_sizes(void);
 | 
					void	 recalculate_sizes(void);
 | 
				
			||||||
@@ -1005,6 +1006,7 @@ void	screen_redraw_cell(struct screen_redraw_ctx *, u_int, u_int);
 | 
				
			|||||||
void	screen_redraw_area(
 | 
					void	screen_redraw_area(
 | 
				
			||||||
    	    struct screen_redraw_ctx *, u_int, u_int, u_int, u_int);
 | 
					    	    struct screen_redraw_ctx *, u_int, u_int, u_int, u_int);
 | 
				
			||||||
void	screen_redraw_lines(struct screen_redraw_ctx *, u_int, u_int);
 | 
					void	screen_redraw_lines(struct screen_redraw_ctx *, u_int, u_int);
 | 
				
			||||||
 | 
					void	screen_redraw_columns(struct screen_redraw_ctx *, u_int, u_int);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* screen.c */
 | 
					/* screen.c */
 | 
				
			||||||
const char *screen_colourstring(u_char);
 | 
					const char *screen_colourstring(u_char);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								window.c
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								window.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: window.c,v 1.40 2008-06-04 20:17:25 nicm Exp $ */
 | 
					/* $Id: window.c,v 1.41 2008-06-14 16:47:20 nicm Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -202,6 +202,7 @@ window_create(const char *name,
 | 
				
			|||||||
	w->out = buffer_create(BUFSIZ);
 | 
						w->out = buffer_create(BUFSIZ);
 | 
				
			||||||
	w->mode = NULL;
 | 
						w->mode = NULL;
 | 
				
			||||||
	w->flags = 0;
 | 
						w->flags = 0;
 | 
				
			||||||
 | 
						w->limitx = w->limity = UINT_MAX;
 | 
				
			||||||
	screen_create(&w->base, sx, sy, hlimit);
 | 
						screen_create(&w->base, sx, sy, hlimit);
 | 
				
			||||||
	w->screen = &w->base;
 | 
						w->screen = &w->base;
 | 
				
			||||||
	input_init(w);
 | 
						input_init(w);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user