mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	Revert "Make mouse key used for drag/resize configurable"
This reverts commit 22916e9ebc.
			
			
This commit is contained in:
		
							parent
							
								
									3ef6173c15
								
							
						
					
					
						commit
						4d17aa9919
					
				
					 4 changed files with 21 additions and 93 deletions
				
			
		| 
						 | 
				
			
			@ -112,8 +112,6 @@ struct sway_config {
 | 
			
		|||
	struct bar_config bar;
 | 
			
		||||
	struct bar_config *current_bar;
 | 
			
		||||
	uint32_t floating_mod;
 | 
			
		||||
	uint32_t dragging_key;
 | 
			
		||||
	uint32_t resizing_key;
 | 
			
		||||
	enum swayc_layouts default_orientation;
 | 
			
		||||
	enum swayc_layouts default_layout;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -379,14 +379,14 @@ static struct cmd_results *cmd_floating(int argc, char **argv) {
 | 
			
		|||
 | 
			
		||||
static struct cmd_results *cmd_floating_mod(int argc, char **argv) {
 | 
			
		||||
	struct cmd_results *error = NULL;
 | 
			
		||||
	if ((error = checkarg(argc, "floating_modifier", EXPECTED_AT_LEAST, 1))) {
 | 
			
		||||
	if ((error = checkarg(argc, "floating_modifier", EXPECTED_EQUAL_TO, 1))) {
 | 
			
		||||
		return error;
 | 
			
		||||
	}
 | 
			
		||||
	int i, j;
 | 
			
		||||
	list_t *split = split_string(argv[0], "+");
 | 
			
		||||
	config->floating_mod = 0;
 | 
			
		||||
 | 
			
		||||
	// set modifier keys
 | 
			
		||||
	// set modifer keys
 | 
			
		||||
	for (i = 0; i < split->length; ++i) {
 | 
			
		||||
		for (j = 0; j < (int)(sizeof(modifiers) / sizeof(struct modifier_key)); ++j) {
 | 
			
		||||
			if (strcasecmp(modifiers[j].name, split->items[i]) == 0) {
 | 
			
		||||
| 
						 | 
				
			
			@ -399,19 +399,6 @@ static struct cmd_results *cmd_floating_mod(int argc, char **argv) {
 | 
			
		|||
		error = cmd_results_new(CMD_INVALID, "floating_modifier", "Unknown keys %s", argv[0]);
 | 
			
		||||
		return error;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (argc >= 2) {
 | 
			
		||||
		if (strcasecmp("inverse", argv[1]) == 0) {
 | 
			
		||||
			config->dragging_key = M_RIGHT_CLICK;
 | 
			
		||||
			config->resizing_key = M_LEFT_CLICK;
 | 
			
		||||
		} else if (strcasecmp("normal", argv[1]) == 0) {
 | 
			
		||||
			config->dragging_key = M_LEFT_CLICK;
 | 
			
		||||
			config->resizing_key = M_RIGHT_CLICK;
 | 
			
		||||
		} else {
 | 
			
		||||
			error = cmd_results_new(CMD_INVALID, "floating_modifier", "Invalid definition %s", argv[1]);
 | 
			
		||||
			return error;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return cmd_results_new(CMD_SUCCESS, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -115,8 +115,6 @@ static void config_defaults(struct sway_config *config) {
 | 
			
		|||
	list_add(config->modes, config->current_mode);
 | 
			
		||||
 | 
			
		||||
	config->floating_mod = 0;
 | 
			
		||||
	config->dragging_key = M_LEFT_CLICK;
 | 
			
		||||
	config->resizing_key = M_RIGHT_CLICK;
 | 
			
		||||
	config->default_layout = L_NONE;
 | 
			
		||||
	config->default_orientation = L_NONE;
 | 
			
		||||
	// Flags
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -194,16 +194,8 @@ void center_pointer_on(swayc_t *view) {
 | 
			
		|||
 | 
			
		||||
// Mode set left/right click
 | 
			
		||||
 | 
			
		||||
static void pointer_mode_set_dragging(void) {
 | 
			
		||||
	switch (config->dragging_key) {
 | 
			
		||||
	case M_LEFT_CLICK:
 | 
			
		||||
static void pointer_mode_set_left(void) {
 | 
			
		||||
	set_initial_view(pointer_state.left.view);
 | 
			
		||||
		break;
 | 
			
		||||
	case M_RIGHT_CLICK:
 | 
			
		||||
		set_initial_view(pointer_state.right.view);
 | 
			
		||||
		break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (initial.ptr->is_floating) {
 | 
			
		||||
		pointer_state.mode = M_DRAGGING | M_FLOATING;
 | 
			
		||||
	} else {
 | 
			
		||||
| 
						 | 
				
			
			@ -216,15 +208,8 @@ static void pointer_mode_set_dragging(void) {
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void pointer_mode_set_resizing(void) {
 | 
			
		||||
	switch (config->resizing_key) {
 | 
			
		||||
	case M_LEFT_CLICK:
 | 
			
		||||
		set_initial_view(pointer_state.left.view);
 | 
			
		||||
		break;
 | 
			
		||||
	case M_RIGHT_CLICK:
 | 
			
		||||
static void pointer_mode_set_right(void) {
 | 
			
		||||
	set_initial_view(pointer_state.right.view);
 | 
			
		||||
		break;
 | 
			
		||||
	}
 | 
			
		||||
	// Setup locking information
 | 
			
		||||
	int midway_x = initial.ptr->x + initial.ptr->width/2;
 | 
			
		||||
	int midway_y = initial.ptr->y + initial.ptr->height/2;
 | 
			
		||||
| 
						 | 
				
			
			@ -248,19 +233,15 @@ void pointer_mode_set(uint32_t button, bool condition) {
 | 
			
		|||
	// switch on drag/resize mode
 | 
			
		||||
	switch (pointer_state.mode & (M_DRAGGING | M_RESIZING)) {
 | 
			
		||||
	case M_DRAGGING:
 | 
			
		||||
		// end drag mode when 'dragging' click is unpressed
 | 
			
		||||
		if (config->dragging_key == M_LEFT_CLICK && !pointer_state.left.held) {
 | 
			
		||||
			pointer_state.mode = 0;
 | 
			
		||||
		} else if (config->dragging_key == M_RIGHT_CLICK && !pointer_state.right.held) {
 | 
			
		||||
	// end drag mode when left click is unpressed
 | 
			
		||||
		if (!pointer_state.left.held) {
 | 
			
		||||
			pointer_state.mode = 0;
 | 
			
		||||
		}
 | 
			
		||||
		break;
 | 
			
		||||
 | 
			
		||||
	case M_RESIZING:
 | 
			
		||||
		// end resize mode when 'resizing' click is unpressed
 | 
			
		||||
		if (config->resizing_key == M_LEFT_CLICK && !pointer_state.left.held) {
 | 
			
		||||
			pointer_state.mode = 0;
 | 
			
		||||
		} else if (config->resizing_key == M_RIGHT_CLICK && !pointer_state.right.held) {
 | 
			
		||||
	// end resize mode when right click is unpressed
 | 
			
		||||
		if (!pointer_state.right.held) {
 | 
			
		||||
			pointer_state.mode = 0;
 | 
			
		||||
		}
 | 
			
		||||
		break;
 | 
			
		||||
| 
						 | 
				
			
			@ -274,27 +255,19 @@ void pointer_mode_set(uint32_t button, bool condition) {
 | 
			
		|||
 | 
			
		||||
		// Set mode depending on current button press
 | 
			
		||||
		switch (button) {
 | 
			
		||||
		// Start left-click mode
 | 
			
		||||
		// Start dragging mode
 | 
			
		||||
		case M_LEFT_CLICK:
 | 
			
		||||
			// if button release dont do anything
 | 
			
		||||
			if (pointer_state.left.held) {
 | 
			
		||||
				if (config->dragging_key == M_LEFT_CLICK) {
 | 
			
		||||
					pointer_mode_set_dragging();
 | 
			
		||||
				} else if (config->resizing_key == M_LEFT_CLICK) {
 | 
			
		||||
					pointer_mode_set_resizing();
 | 
			
		||||
				}
 | 
			
		||||
				pointer_mode_set_left();
 | 
			
		||||
			}
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
		// Start right-click mode
 | 
			
		||||
		// Start resize mode
 | 
			
		||||
		case M_RIGHT_CLICK:
 | 
			
		||||
			// if button release dont do anyhting
 | 
			
		||||
			if (pointer_state.right.held) {
 | 
			
		||||
				if (config->dragging_key == M_RIGHT_CLICK) {
 | 
			
		||||
					pointer_mode_set_dragging();
 | 
			
		||||
				} else if (config->resizing_key == M_RIGHT_CLICK) {
 | 
			
		||||
					pointer_mode_set_resizing();
 | 
			
		||||
				}
 | 
			
		||||
				pointer_mode_set_right();
 | 
			
		||||
			}
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -314,17 +287,8 @@ void pointer_mode_update(void) {
 | 
			
		|||
	switch (pointer_state.mode) {
 | 
			
		||||
	case M_FLOATING | M_DRAGGING:
 | 
			
		||||
		// Update position
 | 
			
		||||
		switch (config->resizing_key) {
 | 
			
		||||
		case M_LEFT_CLICK:
 | 
			
		||||
		dx -= pointer_state.left.x;
 | 
			
		||||
		dy -= pointer_state.left.y;
 | 
			
		||||
			break;
 | 
			
		||||
		case M_RIGHT_CLICK:
 | 
			
		||||
			dx -= pointer_state.right.x;
 | 
			
		||||
			dy -= pointer_state.right.y;
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (initial.x + dx != initial.ptr->x) {
 | 
			
		||||
			initial.ptr->x = initial.x + dx;
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -335,19 +299,9 @@ void pointer_mode_update(void) {
 | 
			
		|||
		break;
 | 
			
		||||
 | 
			
		||||
	case M_FLOATING | M_RESIZING:
 | 
			
		||||
		switch (config->resizing_key) {
 | 
			
		||||
		case M_LEFT_CLICK:
 | 
			
		||||
			dx -= pointer_state.left.x;
 | 
			
		||||
			dy -= pointer_state.left.y;
 | 
			
		||||
			initial.ptr = pointer_state.left.view;
 | 
			
		||||
			break;
 | 
			
		||||
		case M_RIGHT_CLICK:
 | 
			
		||||
		dx -= pointer_state.right.x;
 | 
			
		||||
		dy -= pointer_state.right.y;
 | 
			
		||||
		initial.ptr = pointer_state.right.view;
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (lock.left) {
 | 
			
		||||
			if (initial.w + dx > min_sane_w) {
 | 
			
		||||
				initial.ptr->width = initial.w + dx;
 | 
			
		||||
| 
						 | 
				
			
			@ -387,17 +341,8 @@ void pointer_mode_update(void) {
 | 
			
		|||
		break;
 | 
			
		||||
 | 
			
		||||
	case M_TILING | M_RESIZING:
 | 
			
		||||
		switch (config->resizing_key) {
 | 
			
		||||
		case M_LEFT_CLICK:
 | 
			
		||||
			dx -= pointer_state.left.x;
 | 
			
		||||
			dy -= pointer_state.left.y;
 | 
			
		||||
			break;
 | 
			
		||||
		case M_RIGHT_CLICK:
 | 
			
		||||
		dx -= pointer_state.right.x;
 | 
			
		||||
		dy -= pointer_state.right.y;
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// resize if we can
 | 
			
		||||
		if (initial.horiz.ptr) {
 | 
			
		||||
			if (lock.left) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue