Other formats agents might prefer:
markdownjsonllms.txt

Agent? You probably want markdown or json, or Pod over MCP.

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 matches Geometry: 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() drains PAUSED (server neutralizes the just-sent press) + RESUMED (replay fires while _held_keys is still empty — the .update() runs only after _flush returns), 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) calls ei_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.

Три дефекта, воспроизводимых в текущем коде форка:

  1. Контракт ошибок 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.