diff options
| -rw-r--r-- | client.h | 10 | ||||
| -rw-r--r-- | dwl.c | 15 | 
2 files changed, 12 insertions, 13 deletions
@@ -199,6 +199,16 @@ client_is_unmanaged(Client *c)  }  static inline void +client_notify_enter(struct wlr_surface *s, struct wlr_keyboard *kb) +{ +	if (kb) +		wlr_seat_keyboard_notify_enter(seat, s, kb->keycodes, +				kb->num_keycodes, &kb->modifiers); +	else +		wlr_seat_keyboard_notify_enter(seat, s, NULL, 0, NULL); +} + +static inline void  client_restack_surface(Client *c)  {  #ifdef XWAYLAND @@ -590,7 +590,6 @@ arrangelayers(Monitor *m)  		ZWLR_LAYER_SHELL_V1_LAYER_TOP,  	};  	LayerSurface *layersurface; -	struct wlr_keyboard *kb = wlr_seat_get_keyboard(seat);  	/* Arrange exclusive surfaces from top->bottom */  	for (i = 3; i >= 0; i--) @@ -614,11 +613,7 @@ arrangelayers(Monitor *m)  				/* Deactivate the focused client. */  				focusclient(NULL, 0);  				exclusive_focus = layersurface->layer_surface->surface; -				if (kb) -					wlr_seat_keyboard_notify_enter(seat, exclusive_focus, -							kb->keycodes, kb->num_keycodes, &kb->modifiers); -				else -					wlr_seat_keyboard_notify_enter(seat, exclusive_focus, NULL, 0, NULL); +				client_notify_enter(exclusive_focus, wlr_seat_get_keyboard(seat));  				return;  			}  		} @@ -1117,7 +1112,6 @@ void  focusclient(Client *c, int lift)  {  	struct wlr_surface *old = seat->keyboard_state.focused_surface; -	struct wlr_keyboard *kb;  	int i;  	/* Do not focus clients if a layer surface is focused */  	if (exclusive_focus) @@ -1178,12 +1172,7 @@ focusclient(Client *c, int lift)  	}  	/* Have a client, so focus its top-level wlr_surface */ -	kb = wlr_seat_get_keyboard(seat); -	if (kb) -		wlr_seat_keyboard_notify_enter(seat, client_surface(c), -				kb->keycodes, kb->num_keycodes, &kb->modifiers); -	else -		wlr_seat_keyboard_notify_enter(seat, client_surface(c), NULL, 0, NULL); +	client_notify_enter(client_surface(c), wlr_seat_get_keyboard(seat));  	/* Activate the new client */  	client_activate_surface(client_surface(c), 1);  | 
