Re: [PATCH v9 wayland_protocols] text-input: Add v3 of the text-input protocol
On Mon, Jul 30, 2018 at 03:59:48PM +0200, Dorota Czaplejewicz wrote: > On Mon, 30 Jul 2018 15:20:05 +0200 > Jonas Ådahl wrote: > > > On Mon, Jul 30, 2018 at 02:44:47PM +0200, Dorota Czaplejewicz wrote: > > > From: Carlos Garnacho > > > > > > This new protocol description is an evolution of v2. > > > > > > - All pre-edit text styling is gone. > > > - Pre-edit cursor can span characters. > > > - No events regarding input panel (OSK) state nor covered rectangle. > > > Compositors are still free to handle situations where the keyboard > > > focus rectangle is covered by the input panel. > > > - No set_preferred_language request for clients. > > > - There is no event to send keysyms. Compositors can use wl_keyboard > > > interface instead. > > > - All state is double-buffered, with specified defaults. > > > - The compositor can be notified about external changes to the state. > > > - The client can detect outdated requests. > > > > > > Signed-off-by: Dorota Czaplejewicz > > > Signed-off-by: Carlos Garnacho > > > --- > > > Hi, > > > > > > this patch includes feedback received from Jonas. > > > > > > Changes over v8: > > > > > > - removed a mention of an input method protocol in the introduction > > > - synchronization happens not via arbitrary serials but via counting of > > > commit requests > > > - disable request needs to be committed > > > - improved clarity of commit request > > > > > > Thanks for reviewing! > > > > I think we're almost there now.. I just a few nits below: > > > > > > > > --Dorota > > > > > > Makefile.am| 1 + > > > unstable/text-input/text-input-unstable-v3.xml | 434 > > > + > > > 2 files changed, 435 insertions(+) > > > create mode 100644 unstable/text-input/text-input-unstable-v3.xml > > > > > > diff --git a/Makefile.am b/Makefile.am > > > index 4b9a901..86d7ca9 100644 > > > --- a/Makefile.am > > > +++ b/Makefile.am > > > @@ -3,6 +3,7 @@ unstable_protocols = > > > \ > > > unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml > > > \ > > > unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml > > > \ > > > unstable/text-input/text-input-unstable-v1.xml > > > \ > > > + unstable/text-input/text-input-unstable-v3.xml > > > \ > > > unstable/input-method/input-method-unstable-v1.xml > > > \ > > > unstable/xdg-shell/xdg-shell-unstable-v5.xml > > > \ > > > unstable/xdg-shell/xdg-shell-unstable-v6.xml > > > \ > > > diff --git a/unstable/text-input/text-input-unstable-v3.xml > > > b/unstable/text-input/text-input-unstable-v3.xml > > > new file mode 100644 > > > index 000..f2163a5 > > > --- /dev/null > > > +++ b/unstable/text-input/text-input-unstable-v3.xml > > > @@ -0,0 +1,434 @@ > > > + > > > + > > > + > > > + > > > +Copyright © 2012, 2013 Intel Corporation > > > +Copyright © 2015, 2016 Jan Arne Petersen > > > +Copyright © 2017, 2018 Red Hat, Inc. > > > +Copyright © 2018 Purism SPC > > > + > > > +Permission to use, copy, modify, distribute, and sell this > > > +software and its documentation for any purpose is hereby granted > > > +without fee, provided that the above copyright notice appear in > > > +all copies and that both that copyright notice and this permission > > > +notice appear in supporting documentation, and that the name of > > > +the copyright holders not be used in advertising or publicity > > > +pertaining to distribution of the software without specific, > > > +written prior permission. The copyright holders make no > > > +representations about the suitability of this software for any > > > +purpose. It is provided "as is" without express or implied > > > +warranty. > > > + > > > +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS > > > +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND > > > +FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY > > > +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES > > > +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN > > > +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, > > > +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF > > > +THIS SOFTWARE. > > > + > > > + > > > + > > > + > > > + The zwp_text_input_v3 interface represents text input and input > > > methods > > > + associated with a seat. It provides enter/leave events to follow > > > the > > > + text input focus for a seat. > > > + > > > + Requests are used to enable/disable the text-input object and set > > > + state information like surrounding and selected text or the > > > content type. > > > + The information
Re: [PATCH v9 wayland_protocols] text-input: Add v3 of the text-input protocol
On Mon, 30 Jul 2018 15:20:05 +0200 Jonas Ådahl wrote: > On Mon, Jul 30, 2018 at 02:44:47PM +0200, Dorota Czaplejewicz wrote: > > From: Carlos Garnacho > > > > This new protocol description is an evolution of v2. > > > > - All pre-edit text styling is gone. > > - Pre-edit cursor can span characters. > > - No events regarding input panel (OSK) state nor covered rectangle. > > Compositors are still free to handle situations where the keyboard > > focus rectangle is covered by the input panel. > > - No set_preferred_language request for clients. > > - There is no event to send keysyms. Compositors can use wl_keyboard > > interface instead. > > - All state is double-buffered, with specified defaults. > > - The compositor can be notified about external changes to the state. > > - The client can detect outdated requests. > > > > Signed-off-by: Dorota Czaplejewicz > > Signed-off-by: Carlos Garnacho > > --- > > Hi, > > > > this patch includes feedback received from Jonas. > > > > Changes over v8: > > > > - removed a mention of an input method protocol in the introduction > > - synchronization happens not via arbitrary serials but via counting of > > commit requests > > - disable request needs to be committed > > - improved clarity of commit request > > > > Thanks for reviewing! > > I think we're almost there now.. I just a few nits below: > > > > > --Dorota > > > > Makefile.am| 1 + > > unstable/text-input/text-input-unstable-v3.xml | 434 > > + > > 2 files changed, 435 insertions(+) > > create mode 100644 unstable/text-input/text-input-unstable-v3.xml > > > > diff --git a/Makefile.am b/Makefile.am > > index 4b9a901..86d7ca9 100644 > > --- a/Makefile.am > > +++ b/Makefile.am > > @@ -3,6 +3,7 @@ unstable_protocols = > > \ > > unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml > > \ > > unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml > > \ > > unstable/text-input/text-input-unstable-v1.xml > > \ > > + unstable/text-input/text-input-unstable-v3.xml > > \ > > unstable/input-method/input-method-unstable-v1.xml > > \ > > unstable/xdg-shell/xdg-shell-unstable-v5.xml > > \ > > unstable/xdg-shell/xdg-shell-unstable-v6.xml > > \ > > diff --git a/unstable/text-input/text-input-unstable-v3.xml > > b/unstable/text-input/text-input-unstable-v3.xml > > new file mode 100644 > > index 000..f2163a5 > > --- /dev/null > > +++ b/unstable/text-input/text-input-unstable-v3.xml > > @@ -0,0 +1,434 @@ > > + > > + > > + > > + > > +Copyright © 2012, 2013 Intel Corporation > > +Copyright © 2015, 2016 Jan Arne Petersen > > +Copyright © 2017, 2018 Red Hat, Inc. > > +Copyright © 2018 Purism SPC > > + > > +Permission to use, copy, modify, distribute, and sell this > > +software and its documentation for any purpose is hereby granted > > +without fee, provided that the above copyright notice appear in > > +all copies and that both that copyright notice and this permission > > +notice appear in supporting documentation, and that the name of > > +the copyright holders not be used in advertising or publicity > > +pertaining to distribution of the software without specific, > > +written prior permission. The copyright holders make no > > +representations about the suitability of this software for any > > +purpose. It is provided "as is" without express or implied > > +warranty. > > + > > +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS > > +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND > > +FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY > > +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES > > +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN > > +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, > > +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF > > +THIS SOFTWARE. > > + > > + > > + > > + > > + The zwp_text_input_v3 interface represents text input and input > > methods > > + associated with a seat. It provides enter/leave events to follow the > > + text input focus for a seat. > > + > > + Requests are used to enable/disable the text-input object and set > > + state information like surrounding and selected text or the content > > type. > > + The information about the entered text is sent to the text-input > > object > > + via the preedit_string and commit_string events. > > + > > + Text is valid UTF-8 encoded, indices and lengths are in bytes. > > Indices > > + must not point to middle bytes inside a code point: they must either
Re: [PATCH v9 wayland_protocols] text-input: Add v3 of the text-input protocol
On Mon, Jul 30, 2018 at 02:44:47PM +0200, Dorota Czaplejewicz wrote: > From: Carlos Garnacho > > This new protocol description is an evolution of v2. > > - All pre-edit text styling is gone. > - Pre-edit cursor can span characters. > - No events regarding input panel (OSK) state nor covered rectangle. > Compositors are still free to handle situations where the keyboard > focus rectangle is covered by the input panel. > - No set_preferred_language request for clients. > - There is no event to send keysyms. Compositors can use wl_keyboard > interface instead. > - All state is double-buffered, with specified defaults. > - The compositor can be notified about external changes to the state. > - The client can detect outdated requests. > > Signed-off-by: Dorota Czaplejewicz > Signed-off-by: Carlos Garnacho > --- > Hi, > > this patch includes feedback received from Jonas. > > Changes over v8: > > - removed a mention of an input method protocol in the introduction > - synchronization happens not via arbitrary serials but via counting of > commit requests > - disable request needs to be committed > - improved clarity of commit request > > Thanks for reviewing! I think we're almost there now.. I just a few nits below: > > --Dorota > > Makefile.am| 1 + > unstable/text-input/text-input-unstable-v3.xml | 434 > + > 2 files changed, 435 insertions(+) > create mode 100644 unstable/text-input/text-input-unstable-v3.xml > > diff --git a/Makefile.am b/Makefile.am > index 4b9a901..86d7ca9 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -3,6 +3,7 @@ unstable_protocols = > \ > unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml > \ > unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml > \ > unstable/text-input/text-input-unstable-v1.xml > \ > + unstable/text-input/text-input-unstable-v3.xml > \ > unstable/input-method/input-method-unstable-v1.xml > \ > unstable/xdg-shell/xdg-shell-unstable-v5.xml > \ > unstable/xdg-shell/xdg-shell-unstable-v6.xml > \ > diff --git a/unstable/text-input/text-input-unstable-v3.xml > b/unstable/text-input/text-input-unstable-v3.xml > new file mode 100644 > index 000..f2163a5 > --- /dev/null > +++ b/unstable/text-input/text-input-unstable-v3.xml > @@ -0,0 +1,434 @@ > + > + > + > + > +Copyright © 2012, 2013 Intel Corporation > +Copyright © 2015, 2016 Jan Arne Petersen > +Copyright © 2017, 2018 Red Hat, Inc. > +Copyright © 2018 Purism SPC > + > +Permission to use, copy, modify, distribute, and sell this > +software and its documentation for any purpose is hereby granted > +without fee, provided that the above copyright notice appear in > +all copies and that both that copyright notice and this permission > +notice appear in supporting documentation, and that the name of > +the copyright holders not be used in advertising or publicity > +pertaining to distribution of the software without specific, > +written prior permission. The copyright holders make no > +representations about the suitability of this software for any > +purpose. It is provided "as is" without express or implied > +warranty. > + > +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS > +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND > +FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY > +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES > +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN > +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, > +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF > +THIS SOFTWARE. > + > + > + > + > + The zwp_text_input_v3 interface represents text input and input methods > + associated with a seat. It provides enter/leave events to follow the > + text input focus for a seat. > + > + Requests are used to enable/disable the text-input object and set > + state information like surrounding and selected text or the content > type. > + The information about the entered text is sent to the text-input object > + via the preedit_string and commit_string events. > + > + Text is valid UTF-8 encoded, indices and lengths are in bytes. Indices > + must not point to middle bytes inside a code point: they must either > + point to the first byte of a code point or to the end of the buffer. > + Lengths must be measured between two valid indices. > + > + Focus moving throughout surfaces will result in the emission of > + zwp_text_input_v3.enter and zwp_text_input_v3.leave events. The focused >
[PATCH v9 wayland_protocols] text-input: Add v3 of the text-input protocol
From: Carlos Garnacho This new protocol description is an evolution of v2. - All pre-edit text styling is gone. - Pre-edit cursor can span characters. - No events regarding input panel (OSK) state nor covered rectangle. Compositors are still free to handle situations where the keyboard focus rectangle is covered by the input panel. - No set_preferred_language request for clients. - There is no event to send keysyms. Compositors can use wl_keyboard interface instead. - All state is double-buffered, with specified defaults. - The compositor can be notified about external changes to the state. - The client can detect outdated requests. Signed-off-by: Dorota Czaplejewicz Signed-off-by: Carlos Garnacho --- Hi, this patch includes feedback received from Jonas. Changes over v8: - removed a mention of an input method protocol in the introduction - synchronization happens not via arbitrary serials but via counting of commit requests - disable request needs to be committed - improved clarity of commit request Thanks for reviewing! --Dorota Makefile.am| 1 + unstable/text-input/text-input-unstable-v3.xml | 434 + 2 files changed, 435 insertions(+) create mode 100644 unstable/text-input/text-input-unstable-v3.xml diff --git a/Makefile.am b/Makefile.am index 4b9a901..86d7ca9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,6 +3,7 @@ unstable_protocols = \ unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml \ unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml \ unstable/text-input/text-input-unstable-v1.xml \ + unstable/text-input/text-input-unstable-v3.xml \ unstable/input-method/input-method-unstable-v1.xml \ unstable/xdg-shell/xdg-shell-unstable-v5.xml \ unstable/xdg-shell/xdg-shell-unstable-v6.xml \ diff --git a/unstable/text-input/text-input-unstable-v3.xml b/unstable/text-input/text-input-unstable-v3.xml new file mode 100644 index 000..f2163a5 --- /dev/null +++ b/unstable/text-input/text-input-unstable-v3.xml @@ -0,0 +1,434 @@ + + + + +Copyright © 2012, 2013 Intel Corporation +Copyright © 2015, 2016 Jan Arne Petersen +Copyright © 2017, 2018 Red Hat, Inc. +Copyright © 2018 Purism SPC + +Permission to use, copy, modify, distribute, and sell this +software and its documentation for any purpose is hereby granted +without fee, provided that the above copyright notice appear in +all copies and that both that copyright notice and this permission +notice appear in supporting documentation, and that the name of +the copyright holders not be used in advertising or publicity +pertaining to distribution of the software without specific, +written prior permission. The copyright holders make no +representations about the suitability of this software for any +purpose. It is provided "as is" without express or implied +warranty. + +THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + + + + The zwp_text_input_v3 interface represents text input and input methods + associated with a seat. It provides enter/leave events to follow the + text input focus for a seat. + + Requests are used to enable/disable the text-input object and set + state information like surrounding and selected text or the content type. + The information about the entered text is sent to the text-input object + via the preedit_string and commit_string events. + + Text is valid UTF-8 encoded, indices and lengths are in bytes. Indices + must not point to middle bytes inside a code point: they must either + point to the first byte of a code point or to the end of the buffer. + Lengths must be measured between two valid indices. + + Focus moving throughout surfaces will result in the emission of + zwp_text_input_v3.enter and zwp_text_input_v3.leave events. The focused + surface must commit zwp_text_input_v3.enable and + zwp_text_input_v3.disable requests as the keyboard focus moves across + editable and non-editable elements of the UI. Those two requests are not + expected to be paired with each other, the compositor must be able to + handle consecutive series of the same request. + +