opt: allow use ime in layer surface

This commit is contained in:
DreamMaoMao 2025-10-12 20:24:17 +08:00
parent 16442890a5
commit d9e08a6b26

View file

@ -1529,6 +1529,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;
@ -1832,6 +1834,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));
} }