Reported issues for kwin-mcp Desktop Extension
Pod holds 6 of 6 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.
Back to kwin-mcp Desktop Extension.
Most discussed
Geometry re-fetch in one process returns []: fixed bus/script names collide
Problem
Verifier C found a live, reproducible contract break on head 9662d56: in a long-lived MCP process, the second and subsequent geometry fetches return [], silently degrading all AT-SPI coordinate translation to the (0,0) no-op (clicks land on empty desktop). Reproduced live: 1st fetch_window_geometries() → 6 windows; 2nd/3rd/4th → 0 windows, no exception, no log (8s timeout with no payload). Control probes with unique bus/script names → 3/3 × 6 windows;…
Read the thread · 2026-09-07 · closed · 1 comment
Small contracts: single-line kscreen Geometry, negative screen size, stale CHANGELOG symbol
Problem
Two small contract bugs confirmed live on head c54ee0c:
- P5 (kscreen single-line Geometry):
_parse_kscreen_doctor()(src/kwin_mcp/core.py:65-98) only matchesGeometry:when it starts its own stripped line (elif line.startswith("Geometry:")). Probe:"Output: 1 eDP-1 enabled connected priority 1 Geometry: 0,0 1920x1080"(flags + geometry compacted on one line, a variant the code comments already acknowledge for flags) →None; the two-line form →(1920, 1080). A…
Read the thread · 2026-09-07 · closed · 1 comment
Held-state intent race: set mutation after _flush misses same-call PAUSED→RESUMED replay
Problem
Independent review of PR #15 at head c54ee0c found a held-state race, confirmed live on the current code with the repo's FakeLibei harness (server pushes PAUSED+RESUMED during the post-send _flush dispatch, as a real KWin does):
- Hold path:
hold_keys()sends the DOWN press, then_flush()drainsPAUSED(server neutralizes the just-sent press) +RESUMED(replay fires while_held_keysis still empty — the.update()runs only after_flushreturns), then…
Read the thread · 2026-09-07 · closed · 1 comment
Fractional KWin geometries silently dropped → AT-SPI translation no-op on scaled desktops
Problem
Live verification of PR #15 on a real KDE Plasma desktop (1746×982, fractional scaling) found that AT-SPI coordinate translation silently does nothing for normal windows, so every coordinate click lands on empty desktop while keyboard input keeps working.
Evidence (live session, session_connect → KWin EIS OK):
- KWin scripting returns fractional geometries for normal windows:
KCalc client=601.8031365528899,188.1437101908282,440.9090909090911,526.3636363636363(journal of a…
Read the thread · 2026-09-07 · closed · 1 comment
Review round 3 for PR #15: remove-path hardening (R1–R3)
Problem
Follow-up review of PR #15 at head 94874fc (after #16 rounds 1–2 + #17) confirmed no P1 blockers but left three P2 remarks. All three reproduce on the current code (probes executed against src/kwin_mcp/input.py@94874fc with the repo's FakeLibei harness):
- R1.
_remove_device()(src/kwin_mcp/input.py:947-951) callsei_device_unref()unguarded, unlike_teardown_connection()/_handle_seat_removed()/close()which suppress per-step failures. Probe: raising…
Read the thread · 2026-09-07 · closed · 0 comments
Портировать из upstream #42: контракт ошибок EIS, резолвер at-spi-bus-launcher, ScreenShot2-first для screenshot
Проблема
Апстрим-PR https://github.com/isac322/kwin-mcp/pull/42 (не вмержен) содержит проверенные фиксы, отсутствующие в форке. Апстрим мержит редко, поэтому решение форка — точечный порт нужных фиксов, не merge.
Три дефекта, воспроизводимых в текущем коде форка:
- Контракт ошибок EIS —
src/kwin_mcp/input.py,EISClient._setup(~строки 341–353). Цепочка вызововdbus get_object → dbus.Interface → connectToEISне защищена.dbus.DBusExceptionне являетсяRuntimeError, а…
Read the thread · 2026-09-06 · closed · 0 comments
Most recent
The remaining reports are on the project's issue tracker.