Commit 0179318
authored
Rewrite kime-wayland, update dependencies, and fix indicator issues (#743)
* fix kwin latest version crash
62e56540 input method commit fix
* fix(wayland): handle KeyState::Repeated for KDE 6.5.5 compatibility
KDE Plasma 6.5.5 upgraded wl_keyboard grab from version 1 to 10,
which introduces KeyState::Repeated (value 2). Previously, kime-wayland
only checked for KeyState::Pressed, causing Repeated events to be
incorrectly treated as Released, leading to crashes.
Changes:
- Handle KeyState::Repeated same as Pressed in input_method_v1/v2
- Only clear repeat timer and state on explicit KeyState::Released
- Update wayland-client/protocols 0.29 → 0.29.5
- Update xkbcommon 0.7.0 → 0.9.0
Fixes intermittent crashes on KDE Plasma 6.5.5
* fix(indicator): Use tokio async I/O for KDE tray icon update
- Replace std::os::unix::net with tokio::net for async Unix socket I/O
- Convert try_terminate_previous_server to async function
- Use tokio::time::timeout for read/write timeouts
- Add assume_sni_available(true) to handle DE initialization timing
This fixes the issue where the tray icon was blank and not updating
on KDE after ksni 0.2 -> 0.3.3 upgrade. The blocking I/O was preventing
the async tray update signals from being processed properly.
* docs CHANGELOG update
* update dependencies
- xkbcommon: 0.7.0 → 0.9.0
- wayland-client: 0.29 → 0.29.5
- wayland-protocols: 0.29 → 0.29.5
- itertools: 0.13 → 0.14
- imageproc: 0.25 → 0.26 (with text feature)
- strum: 0.26 → 0.27
- eframe: 0.31 → 0.33
- egui: 0.31 → 0.33
- bindgen: 0.69.4 → 0.72.1
- cbindgen: 0.26.0 → 0.29.2
* docs CHANGELOG update 2
* update nix dependencies
* tmp_wayland: Fix potential overflow in key repeat timing
* rewrite for wayland-rs 0.31 API with Dispatch trait pattern
BREAKING CHANGE: Complete rewrite of kime-wayland for wayland-rs 0.31+
Major changes:
- Migrate from Filter-based to Dispatch trait pattern (wayland-client 0.31)
- Update wayland-protocols to 0.32 with `unstable` feature for v1 protocol
- Add wayland-protocols-misc 0.3 for zwp_input_method_v2 and zwp_virtual_keyboard_v1
- Remove zwp-virtual-keyboard crate (now included in wayland-protocols-misc)
- Unify v1 and v2 input method handling in single state machine
Technical fixes:
- Add event_created_child! macro for ZwpInputMethodV1 opcode 0 (Activate event)
- Fix fd ownership in WlKeyboard::Keymap (wayland-client 0.31 provides OwnedFd directly)
- Handle KeyState::Repeated (wl_keyboard version 10+) for KDE Plasma 6.5.5
- Use Connection-based API instead of Display
Other dependency updates:
- xdg 2.5 -> 3.0 (API change: remove Result from BaseDirectories methods)
- quick-xml 0.27 -> 0.39 (API change: decode_and_unescape_value takes decoder())
* docs CHANGELOG update 3
* update git ignore and rustfmt
* Delete kime-crash.log
* Update CHANGELOG to modify breaking change label
Removed the BREAKING label from the kime-wayland rewrite entry.1 parent bcdfbd8 commit 0179318
File tree
26 files changed
+1476
-1668
lines changed- docs
- nix
- src
- engine
- backends/hangul
- capi
- core
- src
- dict
- frontends
- wayland
- src
- xim
- tools
- candidate-window
- check
- src
- indicator/src
26 files changed
+1476
-1668
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
0 commit comments