mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Sync OpenBSD patchset 733:
replace some magic mouse constants with defines for clarity. ok nicm
This commit is contained in:
		
							
								
								
									
										16
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								tmux.h
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: tmux.h,v 1.568 2010-07-02 02:54:52 tcunha Exp $ */
 | 
					/* $Id: tmux.h,v 1.569 2010-07-02 02:56:07 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -1049,9 +1049,23 @@ struct tty_ctx {
 | 
				
			|||||||
	u_int		 last_width;
 | 
						u_int		 last_width;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * xterm mouse mode is fairly silly. Buttons are in the bottom two
 | 
				
			||||||
 | 
					 * bits: 0 button 1; 1 button 2; 2 button 3; 3 buttons released.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Bit 3 is shift; bit 4 is meta; bit 5 control.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Bit 6 is added for mouse buttons 4 and 5.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
/* Mouse input. */
 | 
					/* Mouse input. */
 | 
				
			||||||
struct mouse_event {
 | 
					struct mouse_event {
 | 
				
			||||||
	u_char	b;
 | 
						u_char	b;
 | 
				
			||||||
 | 
					#define MOUSE_1 0
 | 
				
			||||||
 | 
					#define MOUSE_2 1
 | 
				
			||||||
 | 
					#define MOUSE_3 2
 | 
				
			||||||
 | 
					#define MOUSE_UP 3
 | 
				
			||||||
 | 
					#define MOUSE_BUTTON 3
 | 
				
			||||||
 | 
					#define MOUSE_45 64
 | 
				
			||||||
	u_char	x;
 | 
						u_char	x;
 | 
				
			||||||
	u_char	y;
 | 
						u_char	y;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: window-copy.c,v 1.120 2010-06-06 00:23:44 tcunha Exp $ */
 | 
					/* $Id: window-copy.c,v 1.121 2010-07-02 02:56:07 tcunha Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
					 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
				
			||||||
@@ -762,26 +762,17 @@ window_copy_mouse(
 | 
				
			|||||||
	struct screen			*s = &data->screen;
 | 
						struct screen			*s = &data->screen;
 | 
				
			||||||
	u_int				 i;
 | 
						u_int				 i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
					 | 
				
			||||||
	 * xterm mouse mode is fairly silly. Buttons are in the bottom two
 | 
					 | 
				
			||||||
	 * bits: 0 button 1; 1 button 2; 2 button 3; 3 buttons released.
 | 
					 | 
				
			||||||
	 *
 | 
					 | 
				
			||||||
	 * Bit 3 is shift; bit 4 is meta; bit 5 control.
 | 
					 | 
				
			||||||
	 *
 | 
					 | 
				
			||||||
	 * Bit 6 is added for mouse buttons 4 and 5.
 | 
					 | 
				
			||||||
	 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (m->x >= screen_size_x(s))
 | 
						if (m->x >= screen_size_x(s))
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	if (m->y >= screen_size_y(s))
 | 
						if (m->y >= screen_size_y(s))
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* If mouse wheel (buttons 4 and 5), scroll. */
 | 
						/* If mouse wheel (buttons 4 and 5), scroll. */
 | 
				
			||||||
	if ((m->b & 64) == 64) {
 | 
						if ((m->b & MOUSE_45)) {
 | 
				
			||||||
		if ((m->b & 3) == 0) {
 | 
							if ((m->b & MOUSE_BUTTON) == MOUSE_1) {
 | 
				
			||||||
			for (i = 0; i < 5; i++)
 | 
								for (i = 0; i < 5; i++)
 | 
				
			||||||
				window_copy_cursor_up(wp, 0);
 | 
									window_copy_cursor_up(wp, 0);
 | 
				
			||||||
		} else if ((m->b & 3) == 1) {
 | 
							} else if ((m->b & MOUSE_BUTTON) == MOUSE_2) {
 | 
				
			||||||
			for (i = 0; i < 5; i++)
 | 
								for (i = 0; i < 5; i++)
 | 
				
			||||||
				window_copy_cursor_down(wp, 0);
 | 
									window_copy_cursor_down(wp, 0);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@@ -793,7 +784,7 @@ window_copy_mouse(
 | 
				
			|||||||
	 * pressed, or stop the selection on their release.
 | 
						 * pressed, or stop the selection on their release.
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	if (s->mode & MODE_MOUSEMOTION) {
 | 
						if (s->mode & MODE_MOUSEMOTION) {
 | 
				
			||||||
		if ((m->b & 3) != 3) {
 | 
							if ((m->b & MOUSE_BUTTON) != MOUSE_UP) {
 | 
				
			||||||
			window_copy_update_cursor(wp, m->x, m->y);
 | 
								window_copy_update_cursor(wp, m->x, m->y);
 | 
				
			||||||
			if (window_copy_update_selection(wp))
 | 
								if (window_copy_update_selection(wp))
 | 
				
			||||||
				window_copy_redraw_screen(wp);
 | 
									window_copy_redraw_screen(wp);
 | 
				
			||||||
@@ -808,7 +799,7 @@ window_copy_mouse(
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Otherwise i other buttons pressed, start selection and motion. */
 | 
						/* Otherwise i other buttons pressed, start selection and motion. */
 | 
				
			||||||
	if ((m->b & 3) != 3) {
 | 
						if ((m->b & MOUSE_BUTTON) != MOUSE_UP) {
 | 
				
			||||||
		s->mode |= MODE_MOUSEMOTION;
 | 
							s->mode |= MODE_MOUSEMOTION;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		window_copy_update_cursor(wp, m->x, m->y);
 | 
							window_copy_update_cursor(wp, m->x, m->y);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user