diff options
-rw-r--r-- | include/config.h | 2 | ||||
-rw-r--r-- | sway/commands.c | 17 | ||||
-rw-r--r-- | sway/config.c | 2 | ||||
-rw-r--r-- | sway/input_state.c | 93 |
4 files changed, 21 insertions, 93 deletions
diff --git a/include/config.h b/include/config.h index 4e62ee68..04528e27 100644 --- a/include/config.h +++ b/include/config.h @@ -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; diff --git a/sway/commands.c b/sway/commands.c index 4e9d2796..ad43c4d5 100644 --- a/sway/commands.c +++ b/sway/commands.c @@ -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); } diff --git a/sway/config.c b/sway/config.c index bb7ecf9e..966362cc 100644 --- a/sway/config.c +++ b/sway/config.c @@ -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 diff --git a/sway/input_state.c b/sway/input_state.c index 24678f71..88506c92 100644 --- a/sway/input_state.c +++ b/sway/input_state.c @@ -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: - set_initial_view(pointer_state.left.view); - break; - case M_RIGHT_CLICK: - set_initial_view(pointer_state.right.view); - break; - } - +static void pointer_mode_set_left(void) { + set_initial_view(pointer_state.left.view); 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: - set_initial_view(pointer_state.right.view); - break; - } +static void pointer_mode_set_right(void) { + set_initial_view(pointer_state.right.view); // 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; - } - + dx -= pointer_state.left.x; + dy -= pointer_state.left.y; 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; - } - + dx -= pointer_state.right.x; + dy -= pointer_state.right.y; + initial.ptr = pointer_state.right.view; 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; - } - + dx -= pointer_state.right.x; + dy -= pointer_state.right.y; // resize if we can if (initial.horiz.ptr) { if (lock.left) { |