fix compatibility and indicator icon fix#742
Closed
kernalix7 wants to merge 724 commits intoRiey:developfrom
Closed
fix compatibility and indicator icon fix#742kernalix7 wants to merge 724 commits intoRiey:developfrom
kernalix7 wants to merge 724 commits intoRiey:developfrom
Conversation
* Check LANG env in kime-check * Make check message more pretty
* Split kime-window * Update release.yaml * Update CHANGELOG * Fix ci.yaml
* Update outdated docs * Make desktop files * Update CHANGELOG * Update README
* Implement english layouts * Add Colemak layout * Change config order * Fix colemak layout * Optimize layout * Update documents * Rustfmt
* Remove git dependencies * Remove markdownlint
…Riey#354) * Using signal connect client's window instead of gdk_window_add_filter For workarounding wayland and gtk4 * Update CHANGELOG
* Make deb compilable in arm64 * Improve build script More parallel Optional xim, wayland, check * Fix sed error * Set Korea mirror * Update CHANGELOG * Change dependencies README
* Integrate indicator again * Make indicator process * Revert indicator process * Update documents * Let indicator use ksni * Update dependencies * Update scripts * Rustfmt * Add missing changes * Update versions
* Split input engine implementations * Success cargo check * Update C/C++ sources * Fix preedit bug * Update CHANGELOG * Include commit_buf into frontend * Move shift ignore to hangul engine * Cleaning project structure * Update some dependencies * Update test code * Fix hangul backend pass * Move tests to kime-engine-core * Change some versions
* Bookworm Dockerfiles ADDED * Added Dockerfile for Ubuntu 24.04 * When Docker Build, Using legacy method. Because Buildkit have Error on now.
* Add openSUSE repository * changelog --------- Co-authored-by: Riey <creeper844@gmail.com>
* Fix opensuse repo as default * Add .5.1 suffix to Qt6 input context plugin IID
* Update cargo dependency versions - strum 0.24 → 0.26 - enumset 1.0 → 1.1 - num-derive 0.3 → 0.4 - xdg 2.2 → 2.5 - ctrlc 3.1 → 3.4 - fontdb 0.11 → 0.23 - criterion 0.4 → 0.8 - pretty_assertions 1.0 → 1.4 - Normalize version format in Cargo.toml files - bitflags 1.2 → 2.10: add explicit derive macros - nix 0.26 → 0.30: migrate RawFd to BorrowedFd - strum 0.26 → 0.27 * Update unmaintained crates - kime-check: ansi_term → owo-colors - kime: daemonize → nix::unistd::daemon() * add PID file locking with Flock * EWOULDBLOCK error processing segmentation error message Co-authored-by: Riey <creeper844@gmail.com>
* Update and replace unmaintained crates with changelog Update crate versions: - x11rb 0.11 → 0.13 - xim 0.2 → 0.4 - image 0.24 → 0.25 - imageproc 0.23 → 0.26 - mio 0.7 → 1.0 - egui/eframe 0.20 → 0.33 Replace unmaintained crates: - rusttype → ab_glyph (font rendering) - mio-timerfd → timerfd-mio (mio 1.0 compatible) - unic → unicode-properties (emoji detection) API migrations: - kime-xim: Use ab_glyph FontArc/PxScale instead of rusttype - kime-wayland: Adapt to timerfd-mio API changes - TimerFd::new() instead of TimerFd::new(ClockId::Monotonic) - set_timeout_oneshot() instead of set_timeout()/disarm() - set_timeout_interval(interval, interval) signature change - kime-candidate-window: Migrate to egui 0.33 API - ctx.input(|i| ...) closure pattern - ViewportCommand::Close instead of frame.close() - ViewportBuilder for window options - Arc<FontData> wrapper requirement - kime-engine-dict: Use unicode_properties::UnicodeEmoji trait * rustfmt * Update deny.toml - Add NCSA license to allow list - Add license clarification for epaint_default_fonts * adjust egui, xim for MSRV compatibility - egui/eframe: 0.33 → 0.31 (egui 0.33 requires Rust 1.88, CI uses 1.86) - imageproc: 0.26 → 0.25 (0.26 requires Rust 1.87) - xim: 0.4 → 0.5 (0.4 has Feedback::Underline bug) * Add Unicode-3.0 license to allow list ICU crates (icu_collections, icu_normalizer, etc.) use Unicode-3.0 license which is OSI-approved and compatible with GPL-3.0. * migrate deny.toml - cargo-deny v0.16+ format * deny.toml change config * deny.toml modify * deny.toml modify 2 * deny.toml modify 3 * crates version config * crates version config 2 * fix timerfd-mio API usage for timer handling - Use disarm() directly instead of set_timeout_oneshot(Duration::ZERO) - Handle timer.read() returning 0 in non-blocking mode (spurious wakeup) - Add error logging when input_method_v2 fails before falling back to v1 * fix 2 disarm is call unwrap() so rollback to set_timeout_oneshot * Update changelog (version)
* feat(indicator): Update ksni and deny.toml * feat(ci): Uses cargo-deny-action@v2
62e56540 input method commit fix
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
- 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.
- 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
Contributor
Author
|
nix ci 환경 rustc 최신버전 가져오기 위해 rust-overlay 추가하여 업데이트 진행했습니다. (1.86 dependency로 인해 crates 버전 업데이트 불가한 상황 방지) |
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())
Tmp wayland
Contributor
Author
|
log 포함되어있어 기록 삭제 후 push 했더니 hash가 달라져서 이상하게 되었네요..ㅠ |
Contributor
Author
|
@Riey |
Owner
삭제는 제가 할 수 있는게 아니고 GitHub 운영쪽에 문의를 넣으셔야 합니다. https://support.github.com/request |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
KDE Plasma 6.5.5 환경에서 kime-wayland 크래시 문제 수정
indicator 아이콘 문제 수정
Note
fix(wayland): Handle KeyState::Repeated for KDE Plasma 6.5.5
KDE Plasma 6.5.5에서 KWin이 keyboard grab을 v1에서 v10으로 업그레이드하면서
KeyState::Repeated(값 2)가 추가. 기존 코드에서는 이 값을Released로 잘못 처리하여 크래시가 발생.chore(wayland): Update dependencies
fix(indicator): Use tokio async I/O for KDE tray icon
ksni 0.3.3 업그레이드 후 KDE 시스템 트레이에서 아이콘이 표시되지 않고
업데이트되지 않는 문제를 수정.
Wayland-client, zwp 등 대규모 리펙토링이 필요한 작업 제외 완료하였습니다.
해당 부분은 리펙토링 시 오류 지속 발생하여 api 변경 전 가장 최신 버전으로 올려놓았습니다.
Checklist