From ad55132a56249492c63db7fc1644603d372375e4 Mon Sep 17 00:00:00 2001 From: werapi Date: Mon, 1 Dec 2025 14:45:18 +0100 Subject: [PATCH] opt: hide cursor on touchdown --- src/mango.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/mango.c b/src/mango.c index dbc2768c..33dc4c3a 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1877,7 +1877,11 @@ buttonpress(struct wl_listener *listener, void *data) { struct wlr_surface *old_pointer_focus_surface = seat->pointer_state.focused_surface; - handlecursoractivity(); + if (!event->pointer || + event->pointer->base.type != WLR_INPUT_DEVICE_TOUCH) { + handlecursoractivity(); + } + wlr_idle_notifier_v1_notify_activity(idle_notifier, seat); if (check_trackpad_disabled(event->pointer)) { @@ -3968,7 +3972,9 @@ void motionnotify(unsigned int time, struct wlr_input_device *device, double dx, } wlr_cursor_move(cursor, device, dx, dy); - handlecursoractivity(); + if (!device || device->type != WLR_INPUT_DEVICE_TOUCH) { + handlecursoractivity(); + } wlr_idle_notifier_v1_notify_activity(idle_notifier, seat); /* Update selmon (even while dragging a window) */ @@ -5231,6 +5237,10 @@ void touchdown(struct wl_listener *listener, void *data) { wlr_idle_notifier_v1_notify_activity(idle_notifier, seat); + if (!cursor_hidden) { + hidecursor(NULL); + } + // Map the input to the appropriate output, to ensure that rotation is // handled. wl_list_for_each(m, &mons, link) {