aboutsummaryrefslogtreecommitdiffstats
path: root/sway/input
diff options
context:
space:
mode:
Diffstat (limited to 'sway/input')
-rw-r--r--sway/input/cursor.c13
-rw-r--r--sway/input/keyboard.c3
-rw-r--r--sway/input/seatop_down.c2
-rw-r--r--sway/input/seatop_move_floating.c4
-rw-r--r--sway/input/seatop_move_tiling.c4
-rw-r--r--sway/input/seatop_resize_floating.c4
-rw-r--r--sway/input/seatop_resize_tiling.c4
-rw-r--r--sway/input/switch.c4
8 files changed, 18 insertions, 20 deletions
diff --git a/sway/input/cursor.c b/sway/input/cursor.c
index fa604426..b40e0299 100644
--- a/sway/input/cursor.c
+++ b/sway/input/cursor.c
@@ -20,7 +20,6 @@
20#include "util.h" 20#include "util.h"
21#include "sway/commands.h" 21#include "sway/commands.h"
22#include "sway/desktop.h" 22#include "sway/desktop.h"
23#include "sway/desktop/transaction.h"
24#include "sway/input/cursor.h" 23#include "sway/input/cursor.h"
25#include "sway/input/keyboard.h" 24#include "sway/input/keyboard.h"
26#include "sway/input/tablet.h" 25#include "sway/input/tablet.h"
@@ -383,7 +382,6 @@ static void handle_pointer_motion_relative(
383 382
384 pointer_motion(cursor, e->time_msec, e->device, e->delta_x, e->delta_y, 383 pointer_motion(cursor, e->time_msec, e->device, e->delta_x, e->delta_y,
385 e->unaccel_dx, e->unaccel_dy); 384 e->unaccel_dx, e->unaccel_dy);
386 transaction_commit_dirty();
387} 385}
388 386
389static void handle_pointer_motion_absolute( 387static void handle_pointer_motion_absolute(
@@ -401,7 +399,6 @@ static void handle_pointer_motion_absolute(
401 double dy = ly - cursor->cursor->y; 399 double dy = ly - cursor->cursor->y;
402 400
403 pointer_motion(cursor, event->time_msec, event->device, dx, dy, dx, dy); 401 pointer_motion(cursor, event->time_msec, event->device, dx, dy, dx, dy);
404 transaction_commit_dirty();
405} 402}
406 403
407void dispatch_cursor_button(struct sway_cursor *cursor, 404void dispatch_cursor_button(struct sway_cursor *cursor,
@@ -431,7 +428,6 @@ static void handle_pointer_button(struct wl_listener *listener, void *data) {
431 cursor_handle_activity_from_device(cursor, event->device); 428 cursor_handle_activity_from_device(cursor, event->device);
432 dispatch_cursor_button(cursor, event->device, 429 dispatch_cursor_button(cursor, event->device,
433 event->time_msec, event->button, event->state); 430 event->time_msec, event->button, event->state);
434 transaction_commit_dirty();
435} 431}
436 432
437void dispatch_cursor_axis(struct sway_cursor *cursor, 433void dispatch_cursor_axis(struct sway_cursor *cursor,
@@ -444,7 +440,6 @@ static void handle_pointer_axis(struct wl_listener *listener, void *data) {
444 struct wlr_event_pointer_axis *event = data; 440 struct wlr_event_pointer_axis *event = data;
445 cursor_handle_activity_from_device(cursor, event->device); 441 cursor_handle_activity_from_device(cursor, event->device);
446 dispatch_cursor_axis(cursor, event); 442 dispatch_cursor_axis(cursor, event);
447 transaction_commit_dirty();
448} 443}
449 444
450static void handle_pointer_frame(struct wl_listener *listener, void *data) { 445static void handle_pointer_frame(struct wl_listener *listener, void *data) {
@@ -495,7 +490,6 @@ static void handle_touch_down(struct wl_listener *listener, void *data) {
495 dispatch_cursor_button(cursor, event->device, event->time_msec, 490 dispatch_cursor_button(cursor, event->device, event->time_msec,
496 BTN_LEFT, WLR_BUTTON_PRESSED); 491 BTN_LEFT, WLR_BUTTON_PRESSED);
497 wlr_seat_pointer_notify_frame(wlr_seat); 492 wlr_seat_pointer_notify_frame(wlr_seat);
498 transaction_commit_dirty();
499 } 493 }
500} 494}
501 495
@@ -512,7 +506,6 @@ static void handle_touch_up(struct wl_listener *listener, void *data) {
512 dispatch_cursor_button(cursor, event->device, event->time_msec, 506 dispatch_cursor_button(cursor, event->device, event->time_msec,
513 BTN_LEFT, WLR_BUTTON_RELEASED); 507 BTN_LEFT, WLR_BUTTON_RELEASED);
514 wlr_seat_pointer_notify_frame(wlr_seat); 508 wlr_seat_pointer_notify_frame(wlr_seat);
515 transaction_commit_dirty();
516 } 509 }
517 } else { 510 } else {
518 wlr_seat_touch_notify_up(wlr_seat, event->time_msec, event->touch_id); 511 wlr_seat_touch_notify_up(wlr_seat, event->time_msec, event->touch_id);
@@ -553,7 +546,6 @@ static void handle_touch_motion(struct wl_listener *listener, void *data) {
553 dx = lx - cursor->cursor->x; 546 dx = lx - cursor->cursor->x;
554 dy = ly - cursor->cursor->y; 547 dy = ly - cursor->cursor->y;
555 pointer_motion(cursor, event->time_msec, event->device, dx, dy, dx, dy); 548 pointer_motion(cursor, event->time_msec, event->device, dx, dy, dx, dy);
556 transaction_commit_dirty();
557 } 549 }
558 } else if (surface) { 550 } else if (surface) {
559 wlr_seat_touch_notify_motion(wlr_seat, event->time_msec, 551 wlr_seat_touch_notify_motion(wlr_seat, event->time_msec,
@@ -639,8 +631,6 @@ static void handle_tablet_tool_position(struct sway_cursor *cursor,
639 wlr_tablet_v2_tablet_tool_notify_proximity_out(tool->tablet_v2_tool); 631 wlr_tablet_v2_tablet_tool_notify_proximity_out(tool->tablet_v2_tool);
640 pointer_motion(cursor, time_msec, input_device->wlr_device, dx, dy, dx, dy); 632 pointer_motion(cursor, time_msec, input_device->wlr_device, dx, dy, dx, dy);
641 } 633 }
642
643 transaction_commit_dirty();
644} 634}
645 635
646static void handle_tool_axis(struct wl_listener *listener, void *data) { 636static void handle_tool_axis(struct wl_listener *listener, void *data) {
@@ -720,7 +710,6 @@ static void handle_tool_tip(struct wl_listener *listener, void *data) {
720 dispatch_cursor_button(cursor, event->device, event->time_msec, 710 dispatch_cursor_button(cursor, event->device, event->time_msec,
721 BTN_LEFT, WLR_BUTTON_RELEASED); 711 BTN_LEFT, WLR_BUTTON_RELEASED);
722 wlr_seat_pointer_notify_frame(cursor->seat->wlr_seat); 712 wlr_seat_pointer_notify_frame(cursor->seat->wlr_seat);
723 transaction_commit_dirty();
724 } else if (!surface || !wlr_surface_accepts_tablet_v2(tablet_v2, surface)) { 713 } else if (!surface || !wlr_surface_accepts_tablet_v2(tablet_v2, surface)) {
725 // If we started holding the tool tip down on a surface that accepts 714 // If we started holding the tool tip down on a surface that accepts
726 // tablet v2, we should notify that surface if it gets released over a 715 // tablet v2, we should notify that surface if it gets released over a
@@ -733,7 +722,6 @@ static void handle_tool_tip(struct wl_listener *listener, void *data) {
733 dispatch_cursor_button(cursor, event->device, event->time_msec, 722 dispatch_cursor_button(cursor, event->device, event->time_msec,
734 BTN_LEFT, WLR_BUTTON_PRESSED); 723 BTN_LEFT, WLR_BUTTON_PRESSED);
735 wlr_seat_pointer_notify_frame(cursor->seat->wlr_seat); 724 wlr_seat_pointer_notify_frame(cursor->seat->wlr_seat);
736 transaction_commit_dirty();
737 } 725 }
738 } else { 726 } else {
739 seatop_tablet_tool_tip(seat, sway_tool, event->time_msec, event->state); 727 seatop_tablet_tool_tip(seat, sway_tool, event->time_msec, event->state);
@@ -820,7 +808,6 @@ static void handle_tool_button(struct wl_listener *listener, void *data) {
820 break; 808 break;
821 } 809 }
822 wlr_seat_pointer_notify_frame(cursor->seat->wlr_seat); 810 wlr_seat_pointer_notify_frame(cursor->seat->wlr_seat);
823 transaction_commit_dirty();
824 return; 811 return;
825 } 812 }
826 813
diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c
index ce259eb2..95e53934 100644
--- a/sway/input/keyboard.c
+++ b/sway/input/keyboard.c
@@ -9,7 +9,6 @@
9#include <wlr/types/wlr_keyboard_group.h> 9#include <wlr/types/wlr_keyboard_group.h>
10#include <xkbcommon/xkbcommon-names.h> 10#include <xkbcommon/xkbcommon-names.h>
11#include "sway/commands.h" 11#include "sway/commands.h"
12#include "sway/desktop/transaction.h"
13#include "sway/input/input-manager.h" 12#include "sway/input/input-manager.h"
14#include "sway/input/keyboard.h" 13#include "sway/input/keyboard.h"
15#include "sway/input/seat.h" 14#include "sway/input/seat.h"
@@ -500,7 +499,6 @@ static void handle_key_event(struct sway_keyboard *keyboard,
500 } 499 }
501 } 500 }
502 501
503 transaction_commit_dirty();
504 502
505 free(device_identifier); 503 free(device_identifier);
506} 504}
@@ -587,7 +585,6 @@ static int handle_keyboard_repeat(void *data) {
587 585
588 seat_execute_command(keyboard->seat_device->sway_seat, 586 seat_execute_command(keyboard->seat_device->sway_seat,
589 keyboard->repeat_binding); 587 keyboard->repeat_binding);
590 transaction_commit_dirty();
591 } 588 }
592 return 0; 589 return 0;
593} 590}
diff --git a/sway/input/seatop_down.c b/sway/input/seatop_down.c
index 17f619e3..844cf5ab 100644
--- a/sway/input/seatop_down.c
+++ b/sway/input/seatop_down.c
@@ -5,6 +5,7 @@
5#include "sway/input/cursor.h" 5#include "sway/input/cursor.h"
6#include "sway/input/seat.h" 6#include "sway/input/seat.h"
7#include "sway/tree/view.h" 7#include "sway/tree/view.h"
8#include "sway/desktop/transaction.h"
8#include "log.h" 9#include "log.h"
9 10
10struct seatop_down_event { 11struct seatop_down_event {
@@ -107,4 +108,5 @@ void seatop_begin_down(struct sway_seat *seat, struct sway_container *con,
107 seat->seatop_data = e; 108 seat->seatop_data = e;
108 109
109 container_raise_floating(con); 110 container_raise_floating(con);
111 transaction_commit_dirty();
110} 112}
diff --git a/sway/input/seatop_move_floating.c b/sway/input/seatop_move_floating.c
index 7f501fc9..6683be21 100644
--- a/sway/input/seatop_move_floating.c
+++ b/sway/input/seatop_move_floating.c
@@ -1,6 +1,7 @@
1#define _POSIX_C_SOURCE 200809L 1#define _POSIX_C_SOURCE 200809L
2#include <wlr/types/wlr_cursor.h> 2#include <wlr/types/wlr_cursor.h>
3#include "sway/desktop.h" 3#include "sway/desktop.h"
4#include "sway/desktop/transaction.h"
4#include "sway/input/cursor.h" 5#include "sway/input/cursor.h"
5#include "sway/input/seat.h" 6#include "sway/input/seat.h"
6 7
@@ -15,6 +16,7 @@ static void finalize_move(struct sway_seat *seat) {
15 // We "move" the container to its own location 16 // We "move" the container to its own location
16 // so it discovers its output again. 17 // so it discovers its output again.
17 container_floating_move_to(e->con, e->con->x, e->con->y); 18 container_floating_move_to(e->con, e->con->x, e->con->y);
19 transaction_commit_dirty();
18 20
19 seatop_begin_default(seat); 21 seatop_begin_default(seat);
20} 22}
@@ -40,6 +42,7 @@ static void handle_pointer_motion(struct sway_seat *seat, uint32_t time_msec) {
40 desktop_damage_whole_container(e->con); 42 desktop_damage_whole_container(e->con);
41 container_floating_move_to(e->con, cursor->x - e->dx, cursor->y - e->dy); 43 container_floating_move_to(e->con, cursor->x - e->dx, cursor->y - e->dy);
42 desktop_damage_whole_container(e->con); 44 desktop_damage_whole_container(e->con);
45 transaction_commit_dirty();
43} 46}
44 47
45static void handle_unref(struct sway_seat *seat, struct sway_container *con) { 48static void handle_unref(struct sway_seat *seat, struct sway_container *con) {
@@ -74,6 +77,7 @@ void seatop_begin_move_floating(struct sway_seat *seat,
74 seat->seatop_data = e; 77 seat->seatop_data = e;
75 78
76 container_raise_floating(con); 79 container_raise_floating(con);
80 transaction_commit_dirty();
77 81
78 cursor_set_image(cursor, "grab", NULL); 82 cursor_set_image(cursor, "grab", NULL);
79 wlr_seat_pointer_notify_clear_focus(seat->wlr_seat); 83 wlr_seat_pointer_notify_clear_focus(seat->wlr_seat);
diff --git a/sway/input/seatop_move_tiling.c b/sway/input/seatop_move_tiling.c
index 704e7270..7d9ecd8f 100644
--- a/sway/input/seatop_move_tiling.c
+++ b/sway/input/seatop_move_tiling.c
@@ -3,6 +3,7 @@
3#include <wlr/types/wlr_cursor.h> 3#include <wlr/types/wlr_cursor.h>
4#include <wlr/util/edges.h> 4#include <wlr/util/edges.h>
5#include "sway/desktop.h" 5#include "sway/desktop.h"
6#include "sway/desktop/transaction.h"
6#include "sway/input/cursor.h" 7#include "sway/input/cursor.h"
7#include "sway/input/seat.h" 8#include "sway/input/seat.h"
8#include "sway/ipc-server.h" 9#include "sway/ipc-server.h"
@@ -214,6 +215,7 @@ static void handle_pointer_motion(struct sway_seat *seat, uint32_t time_msec) {
214 } else { 215 } else {
215 handle_motion_prethreshold(seat); 216 handle_motion_prethreshold(seat);
216 } 217 }
218 transaction_commit_dirty();
217} 219}
218 220
219static bool is_parallel(enum sway_container_layout layout, 221static bool is_parallel(enum sway_container_layout layout,
@@ -294,6 +296,7 @@ static void finalize_move(struct sway_seat *seat) {
294 arrange_workspace(new_ws); 296 arrange_workspace(new_ws);
295 } 297 }
296 298
299 transaction_commit_dirty();
297 seatop_begin_default(seat); 300 seatop_begin_default(seat);
298} 301}
299 302
@@ -348,6 +351,7 @@ void seatop_begin_move_tiling_threshold(struct sway_seat *seat,
348 seat->seatop_data = e; 351 seat->seatop_data = e;
349 352
350 container_raise_floating(con); 353 container_raise_floating(con);
354 transaction_commit_dirty();
351 wlr_seat_pointer_notify_clear_focus(seat->wlr_seat); 355 wlr_seat_pointer_notify_clear_focus(seat->wlr_seat);
352} 356}
353 357
diff --git a/sway/input/seatop_resize_floating.c b/sway/input/seatop_resize_floating.c
index 5da22e47..78dfe29f 100644
--- a/sway/input/seatop_resize_floating.c
+++ b/sway/input/seatop_resize_floating.c
@@ -2,6 +2,7 @@
2#include <limits.h> 2#include <limits.h>
3#include <wlr/types/wlr_cursor.h> 3#include <wlr/types/wlr_cursor.h>
4#include <wlr/types/wlr_xcursor_manager.h> 4#include <wlr/types/wlr_xcursor_manager.h>
5#include "sway/desktop/transaction.h"
5#include "sway/input/cursor.h" 6#include "sway/input/cursor.h"
6#include "sway/input/seat.h" 7#include "sway/input/seat.h"
7#include "sway/tree/arrange.h" 8#include "sway/tree/arrange.h"
@@ -27,6 +28,7 @@ static void handle_button(struct sway_seat *seat, uint32_t time_msec,
27 if (seat->cursor->pressed_button_count == 0) { 28 if (seat->cursor->pressed_button_count == 0) {
28 container_set_resizing(con, false); 29 container_set_resizing(con, false);
29 arrange_container(con); // Send configure w/o resizing hint 30 arrange_container(con); // Send configure w/o resizing hint
31 transaction_commit_dirty();
30 seatop_begin_default(seat); 32 seatop_begin_default(seat);
31 } 33 }
32} 34}
@@ -133,6 +135,7 @@ static void handle_pointer_motion(struct sway_seat *seat, uint32_t time_msec) {
133 con->content_height += relative_grow_height; 135 con->content_height += relative_grow_height;
134 136
135 arrange_container(con); 137 arrange_container(con);
138 transaction_commit_dirty();
136} 139}
137 140
138static void handle_unref(struct sway_seat *seat, struct sway_container *con) { 141static void handle_unref(struct sway_seat *seat, struct sway_container *con) {
@@ -176,6 +179,7 @@ void seatop_begin_resize_floating(struct sway_seat *seat,
176 179
177 container_set_resizing(con, true); 180 container_set_resizing(con, true);
178 container_raise_floating(con); 181 container_raise_floating(con);
182 transaction_commit_dirty();
179 183
180 const char *image = edge == WLR_EDGE_NONE ? 184 const char *image = edge == WLR_EDGE_NONE ?
181 "se-resize" : wlr_xcursor_get_resize_name(edge); 185 "se-resize" : wlr_xcursor_get_resize_name(edge);
diff --git a/sway/input/seatop_resize_tiling.c b/sway/input/seatop_resize_tiling.c
index 2cca805d..c5fe269e 100644
--- a/sway/input/seatop_resize_tiling.c
+++ b/sway/input/seatop_resize_tiling.c
@@ -2,6 +2,7 @@
2#include <wlr/types/wlr_cursor.h> 2#include <wlr/types/wlr_cursor.h>
3#include <wlr/util/edges.h> 3#include <wlr/util/edges.h>
4#include "sway/commands.h" 4#include "sway/commands.h"
5#include "sway/desktop/transaction.h"
5#include "sway/input/cursor.h" 6#include "sway/input/cursor.h"
6#include "sway/input/seat.h" 7#include "sway/input/seat.h"
7#include "sway/tree/arrange.h" 8#include "sway/tree/arrange.h"
@@ -67,6 +68,7 @@ static void handle_button(struct sway_seat *seat, uint32_t time_msec,
67 arrange_workspace(e->v_con->workspace); 68 arrange_workspace(e->v_con->workspace);
68 } 69 }
69 } 70 }
71 transaction_commit_dirty();
70 seatop_begin_default(seat); 72 seatop_begin_default(seat);
71 } 73 }
72} 74}
@@ -99,6 +101,7 @@ static void handle_pointer_motion(struct sway_seat *seat, uint32_t time_msec) {
99 if (amount_y != 0) { 101 if (amount_y != 0) {
100 container_resize_tiled(e->v_con, e->edge_y, amount_y); 102 container_resize_tiled(e->v_con, e->edge_y, amount_y);
101 } 103 }
104 transaction_commit_dirty();
102} 105}
103 106
104static void handle_unref(struct sway_seat *seat, struct sway_container *con) { 107static void handle_unref(struct sway_seat *seat, struct sway_container *con) {
@@ -158,5 +161,6 @@ void seatop_begin_resize_tiling(struct sway_seat *seat,
158 seat->seatop_impl = &seatop_impl; 161 seat->seatop_impl = &seatop_impl;
159 seat->seatop_data = e; 162 seat->seatop_data = e;
160 163
164 transaction_commit_dirty();
161 wlr_seat_pointer_notify_clear_focus(seat->wlr_seat); 165 wlr_seat_pointer_notify_clear_focus(seat->wlr_seat);
162} 166}
diff --git a/sway/input/switch.c b/sway/input/switch.c
index b7c28df1..9ea87a1a 100644
--- a/sway/input/switch.c
+++ b/sway/input/switch.c
@@ -1,5 +1,4 @@
1#include "sway/config.h" 1#include "sway/config.h"
2#include "sway/desktop/transaction.h"
3#include "sway/input/switch.h" 2#include "sway/input/switch.h"
4#include <wlr/types/wlr_idle.h> 3#include <wlr/types/wlr_idle.h>
5#include "log.h" 4#include "log.h"
@@ -61,9 +60,6 @@ static void execute_binding(struct sway_switch *sway_switch) {
61 seat_execute_command(seat, dummy_binding); 60 seat_execute_command(seat, dummy_binding);
62 free(dummy_binding); 61 free(dummy_binding);
63 } 62 }
64
65 transaction_commit_dirty();
66
67} 63}
68 64
69static void handle_switch_toggle(struct wl_listener *listener, void *data) { 65static void handle_switch_toggle(struct wl_listener *listener, void *data) {