mirror of
https://github.com/labwc/labwc.git
synced 2025-10-31 22:25:34 -04:00
IME: support multiple IME popups
We didn't support multiple IME popups since input-method-v2 protocol has no way to position them individually, but we should support it to provide IME developers with more programming flexibility.
This commit is contained in:
parent
1c334cc918
commit
2f1fcb4468
2 changed files with 55 additions and 48 deletions
|
|
@ -29,7 +29,7 @@ struct input_method_relay {
|
|||
*/
|
||||
struct text_input *active_text_input;
|
||||
|
||||
struct wlr_input_popup_surface_v2 *popup_surface;
|
||||
struct wl_list popups; /* input_method_popup.link */
|
||||
struct wlr_scene_tree *popup_tree;
|
||||
|
||||
struct wl_listener new_text_input;
|
||||
|
|
@ -40,13 +40,20 @@ struct input_method_relay {
|
|||
struct wl_listener input_method_destroy;
|
||||
struct wl_listener input_method_new_popup_surface;
|
||||
|
||||
struct wl_listener popup_surface_destroy;
|
||||
struct wl_listener popup_surface_commit;
|
||||
|
||||
struct wl_listener keyboard_grab_destroy;
|
||||
struct wl_listener focused_surface_destroy;
|
||||
};
|
||||
|
||||
struct input_method_popup {
|
||||
struct wlr_input_popup_surface_v2 *popup_surface;
|
||||
struct wlr_scene_tree *tree;
|
||||
struct input_method_relay *relay;
|
||||
struct wl_list link; /* input_method_relay.popups */
|
||||
|
||||
struct wl_listener destroy;
|
||||
struct wl_listener commit;
|
||||
};
|
||||
|
||||
struct text_input {
|
||||
struct input_method_relay *relay;
|
||||
struct wlr_text_input_v3 *input;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue