[PATCH 00/13] Clean up text protocol and move to wayland

Pekka Vuorela pvuorela at iki.fi
Fri Mar 8 12:17:17 PST 2013


On 19.02.2013 20:26, Jan Arne Petersen wrote:
> From: Jan Arne Petersen <jpetersen at openismus.com>
>
> This series finalizes the first version of the text protocol and
> moves it from Weston to Wayland, so that it can be implemented in
> toolkits.
>
> It adds the missing language/text-direction support to the
> protocol.
>
> text_model gets renamed to wl_text_input, text_model_factory to
> wl_text_input_manager.
>
> There is also a small fix on the preedit-style enum and
> wl_text_input::commit is renamed to ::commit_state to make it more
> clear what is commited. There are also some small documentation fixes.

Hadn't myself commented on the actual content yet, but not including the 
last commit for removing whole interface from Weston side: looks good to me.

I think the actual moving should be done separately for allowing the 
intended stable version to live some time in master first. No matter how 
ready it seems.


Before moving to Wayland, one thing that I'd like to be covered good is 
the good old synchronization problem.

Suppose input method commits "a", then "b", and then decides via some 
error correction mechanisms that the text should in fact be "dc". Thus 
the editor should finally get delete_surrounding_text + commit with new 
string. Now, depending on system load, at the last step input method 
might have received no state updates, state update after "a" or the 
final state update after "ab". With this and some variations, the state 
can be needed for sending replacements and further events.

I might be a bit lost again with the serials, so could go through the 
scenario to ensure it works. At least state updating commit/commit_state 
doesn't have a serial argument, so how does the input method know if it 
has received the final updated state?

Also how should it work if application filters out "b" as illegal 
character? Should commit_state be always called after new input or 
should there perhaps be some synchronization no-op request on text 
protocol side?




More information about the wayland-devel mailing list