GNOME Rolls Out The GTK Text Input Protocol For Wayland

Written by Michael Larabel in GNOME on 20 January 2018 at 08:49 AM EST. 14 Comments
GNOME developers have been working on a new Wayland protocol, the "gtk_text_input" protocol, which now is implemented in their Mutter compositor.

Separate from the zwp_text_input protocol, the gtk_text_input protocol is designed for representing text input and input methods associated with a seat and enter/leave events. This GNOME-catered protocol for Mutter is outlined via this commit with their protocol specification living in-tree to Mutter given its GNOME focus.

This new text input protocol for Wayland is now implemented within Mutter. GNOME developer Carlos Garnacho summarizes the work as:
This is the implementation of the internal text-input protocol that will be used to communicate IMs (to be implemented by gnome-shell) with clients. The text_input protocol has its own focus expressed through enter/leave events, that will typically follow the keyboard's.

The client will be able to communicate its current status (eg. focus state, cursor rectangle in surface coordinates, text surrounding the cursor position, ...) and will receive commands from the compositor (eg. preedit text, committing a string, ...).

Whenever there is an active input method, the compositor will route key events directly through it. The client will not receive wl_keyboard events if the event is consumed by the IM.
This is among the Wayland improvements to find with the GNOME 3.28 release this March.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week