opt: allow use ime in layer surface

This commit is contained in:
DreamMaoMao 2025-10-12 20:24:17 +08:00
parent 3661e1838b
commit 47abcf6460

View file

@ -1520,6 +1520,8 @@ void reset_exclusive_layer(Monitor *m) {
/* Deactivate the focused client. */ /* Deactivate the focused client. */
focusclient(NULL, 0); focusclient(NULL, 0);
exclusive_focus = l; exclusive_focus = l;
dwl_im_relay_set_focus(dwl_input_method_relay,
l->layer_surface->surface);
client_notify_enter(l->layer_surface->surface, client_notify_enter(l->layer_surface->surface,
wlr_seat_get_keyboard(seat)); wlr_seat_get_keyboard(seat));
return; return;
@ -1823,6 +1825,8 @@ buttonpress(struct wl_listener *listener, void *data) {
l->layer_surface->current.keyboard_interactive == l->layer_surface->current.keyboard_interactive ==
ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ON_DEMAND) { ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_ON_DEMAND) {
focusclient(NULL, 0); focusclient(NULL, 0);
dwl_im_relay_set_focus(dwl_input_method_relay,
l->layer_surface->surface);
client_notify_enter(l->layer_surface->surface, client_notify_enter(l->layer_surface->surface,
wlr_seat_get_keyboard(seat)); wlr_seat_get_keyboard(seat));
} }