kc3-lang/libxkbcommon/src/compose

Branch :


Log

Author Commit Date CI Message
135b3204 2025-08-16 12:59:20 compose: Add fallback for custom locales Before this commit, loading a Compose file based on the locale would fail if the locale is not in the X11 Compose locale registry. While there are workarounds (e.g. `~/.XCompose` file or `$XCOMPOSEFILE`), it does not work if the corresponding file has `include "%L"`. This commit adds the fallback `en_US.UTF-8` in case the locale is installed but not registered in the X11 Compose locale registry. The choice is motivated by the fact that most locales use `en_US.UTF-8` anyway. Ideally we should have a mechanism to extend the Compose locale registry at the *system* level. Mechanisms at the user level (e.g. custom Compose file, environment variable) are deemed sufficient. We could still improve it by first trying to fallback to the locale without the country bits, but there is no function to do such function in the stdlib and we do not want to mess with locales manually. Unfortunately is not possible to test it in our test suite. One can still check it works following these instructions: 1. Create a custom locale, e.g. `en_XX.UTF-8`. `glibc-i18ndata` or similar package may be required to get the required files in `/usr/share/i18n/`. `sudo localedef -i en_US -f UTF-8 en_XX.UTF-8` 2. `xkbcli compile-compose --verbose --locale en_XX.UTF-8`
3449f69f 2025-08-16 12:57:49 doc: Add new message XKB_ERROR_INVALID_COMPOSE_LOCALE
b5d969dd 2025-08-06 17:22:38 compose: Move constants to dedicated header
d60b3213 2025-07-16 08:00:30 Make the ref counting invariants explicit with assertions
dc63e5f8 2025-07-07 12:28:24 Ensure config.h is always included first While `config.h` may not be necessary in every file, it ensures consistency and makes code refactoring safer.
16c079d6 2025-06-06 20:27:45 chore: Rename is_absolute to is_absolute_path
7a2aa9c9 2024-12-20 22:53:11 Always retain later Compose sequence in case of conflict This ensures that it is always possible to override previous definitions, for example when `include`ing the system Compose file. Signed-off-by: Jules Bertholet <julesbertholet@quoi.xyz>
3a8bb1a1 2025-05-16 13:13:55 compose: Fix sequence not fully overriden Previously if a new sequence did not produce a keysym or a string, the corresponding property was not overriden, possibly leaking the previous entry. - Fixed by always writting all the properties. - Also try to reuse the previous string entry, if possible, so that we avoid allocating.
61d8ec67 2025-05-12 18:20:47 misc: Fix string format specifiers Ensure better portability.
3031f6c3 2025-05-12 10:38:15 misc: Always use `unsigned` with `int` Better semantics & facilitate search.