[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