~ruther/dwl

2dbe5c60636ea1eb3cbef929c1316323addf42a5 — Devin J. Pohly 4 years ago 90d80c0
simplify pointerfocus

Similar to focusclient
1 files changed, 8 insertions(+), 8 deletions(-)

M dwl.c
M dwl.c => dwl.c +8 -8
@@ 1054,21 1054,21 @@ pointerfocus(Client *c, struct wlr_surface *surface, double sx, double sy,
	if (c && !surface)
		surface = WLR_SURFACE(c);

	/* If surface is already focused, only notify of motion */
	if (surface && surface == seat->pointer_state.focused_surface) {
		wlr_seat_pointer_notify_motion(seat, time, sx, sy);
	/* If surface is NULL, clear pointer focus */
	if (!surface) {
		wlr_seat_pointer_notify_clear_focus(seat);
		return;
	}

	/* If surface is NULL, clear pointer focus, otherwise let the client
	 * know that the mouse cursor has entered one of its surfaces. */
	if (!surface) {
		wlr_seat_pointer_notify_clear_focus(seat);
	/* If surface is already focused, only notify of motion */
	if (surface == seat->pointer_state.focused_surface) {
		wlr_seat_pointer_notify_motion(seat, time, sx, sy);
		return;
	}

	/* Otherwise, let the client know that the mouse cursor has entered one
	 * of its surfaces, and make keyboard focus follow if desired. */
	wlr_seat_pointer_notify_enter(seat, surface, sx, sy);
	/* If keyboard focus follows mouse, enforce that */
	if (sloppyfocus)
		focusclient(c, surface, 0);
}

Do not follow this link