Commit graph

22 commits

Author SHA1 Message Date
yizixiao
69b54c27df xx-session-management-v1: fix grammar
change "A app" to "An app"

Signed-off-by: yizixiao <yizixiao@kylinos.cn>
2026-05-07 12:25:40 +03:00
Xaver Hugl
cf59e7119b experimental: add xx fractional scale v2 protocol
This protocol allows client and compositor to use a different coordinate space
for communicating surface coordinates. The goal is to allow using unscaled
pixels rather than the lossy integer logical coordinate space, so all sizes
and positions on the pixel grid can be expressed correctly.

Signed-off-by: Xaver Hugl <xaver.hugl@kde.org>
2026-04-15 12:41:07 +00:00
Diego Viola
8fcd62b39d treewide: fix typos
Signed-off-by: Diego Viola <diego.viola@gmail.com>
2026-03-03 02:49:30 -03:00
dcz
b1f15f8dbf xx-text-input: Add missing action.none
Signed-off-by: Dorota Czaplejewicz <gilapfco.dcz@porcupinefactory.org>
2026-02-26 13:50:16 +02:00
dcz
00dd05f34b xx-keyboard-filter: Clarify destruction
Signed-off-by: Dorota Czaplejewicz <gilapfco.dcz@porcupinefactory.org>
2026-02-05 17:08:02 +00:00
dcz
e1b195d3d5 xx-text-input, xx-input-method: Fix sync: relax serial, relax applying changes
Synchronization is only needed for 3 things:
- to let the input method know when its update was applied not like it expected,
- especially when a byte index stopped being on bytes boundary due to extra change and a retry is needed,
- to break off events coming to an old text input after focusing a new one.

The one big change of this is relaxing the contract of the input method. The application now doesn't apply the changes exactly.

"delete_surrounding_text" is the only affected place so far, now it mentions the unexactness explicitly. The change is necessary because without strict sync, the input method can't know if it's sending messages aligned on code point boundaries.

This solves 90% of the retry problem.

Such problems all stem from text changing near the caret, where the user already has an expectation of weird interactions (multi-user typing over each other - IME garbage in, text garbage out), or the user expects something that the input method can't correct (text to emoji substitution should not result in a retry due to unexpected output, making this work with IME is the client's problem).

The other big change is keeping sync for the purpose of switching text fields.

Hopefully this is enough for everyone, and it stays more or less compatible.

Signed-off-by: Dorota Czaplejewicz <gilapfco.dcz@porcupinefactory.org>
2026-02-05 18:10:20 +02:00
dcz
de27273a78 xx-input-method: Clarify deleting selection
Signed-off-by: Dorota Czaplejewicz <gilapfco.dcz@porcupinefactory.org>
2026-02-05 18:10:20 +02:00
Matthias Klumpp
81632409f6 experimental: Add xx-zones protocol for window positioning in zones
This protocol provides a way for clients to create and add windows to
"zones".

A zone is a isolated environment with its own coordinate space where
clients can add and arrange toplevels that logically belong to each
other.
It provides means for, among other things, requesting that windows are
placed at specific coordinates within the zone coordinate space.

The protocol includes a request to retrieve the extents of the
server-side frame, so that it may be taken into consideration when
positioning server-decorated windows relative to one another.

Signed-off-by: Matthias Klumpp <matthias@tenstral.net>
2026-02-05 17:56:19 +02:00
Guido Günther
ea7ff8255e experimental: Add xx-cutouts protocol
This protocol allows compositors to send information about cut out
display areas to clients. This way compositors can describe display
notches, waterfalls and low resolution areas to clients so that these
can avoid placing important information there.

This is a copy of
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/372
adjusted for the experimental namespace.

Helps: #87

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2026-02-03 16:29:10 +01:00
dcz
d05776918e Add xx-keyboard-filter protocol
Signed-off-by: Dorota Czaplejewicz <gilapfco.dcz@porcupinefactory.org>
2025-12-16 11:34:29 +02:00
dcz
9b0e303048 xx-input-method-v2: Add actions including selection finishing
This update solves the mobile problem of the "enter" key.
It also makes precise cursor placement possible from the IME.

Signed-off-by: Dorota Czaplejewicz
2025-12-16 09:15:32 +00:00
Tadeo Kondrak
a0387bdc70 experimental/text-input: Add actions
Signed-off-by: Tadeo Kondrak <me@tadeo.ca>
2025-12-16 09:15:32 +00:00
dcz
51e5021a12 experimental: Add text-input to build
Signed-off-by: Dorota Czaplejewicz <gilapfco.dcz@porcupinefactory.org>
2025-10-31 10:59:51 +00:00
dcz
f53eb14774 experimental/input_method: Fix typos
Signed-off-by: Dorota Czaplejewicz <gilapfco.dcz@porcupinefactory.org>
2025-10-28 14:15:51 +00:00
dcz
c4f1dfbbd0 Start new experimental text-input development
This commit introduces an experimental text-input protocol as a functionally exact copy of text-input-v3.

The goal of this is to arrive at an improved text-input-next protocol, without committing to backwards-compatible changes beforehand.

Signed-off-by: Dorota Czaplejewicz <gilapfco.dcz@porcupinefactory.org>
2025-10-28 13:33:25 +00:00
dcz
9730142a7f xx-input-method: Clarify when state is reset
Signed-off-by: Dorota Czaplejewicz
2025-08-15 10:16:04 +00:00
dcz
47f7c72171 xx-input-method: fix typos
Signed-off-by: Dorota Czaplejewicz
2025-08-15 10:16:04 +00:00
dcz
abd33a52d8 xx-input-method-v2: Define a popup
The original MR did not copy the popup interface because it's been limited and inadequate for actual use.
This introduces a version heavily based on xdg-popup.

Signed-off-by: Dorota Czaplejewicz
2025-07-21 16:12:37 +00:00
dcz
73b6115799 experimental/input-method: Implement only text-input counterparts
This change strips down the protocol to functionality that corresponds
to text-input-v3, is already useful, typically implemented in the wild
(squeekboard), and well-understood.

Dificult to implement well functionality like keyboard grabs is removed
to find a better solution without stopping the development of the basic
functionality.

Signed-off-by: Dorota Czaplejewicz
2025-05-22 11:00:54 +02:00
dcz
8d1ccbdebe experimental/input-method: Rename to xx_input_method_v2
This is a separate commit so that it's clear the base for this protocol
was just a copy with no changes.

It also includes the protocol in the build system.

Signed-off-by: Dorota Czaplejewicz
2025-05-22 11:00:54 +02:00
dcz
4da04536e8 Start an input-method protocol
This commit introduces an experimental input-method protocol as an exact
copy of the fle describing the unofficial zwp_input_method_v2 from
squeekboard.

It's also supported by wlroots and smithay.

This protocol is the counterpart to text-input-v3. It gives the
compositor a standard way to outsource the handling of the input method.

Signed-off-by: Dorota Czaplejewicz
2025-05-22 11:00:54 +02:00
Jonas Ådahl
eda9bb4651 experimental: Add xx-session-management-v1
This is identical to the experimental version implemented by kwin and
mutter.

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
2025-05-05 12:42:16 +02:00