https://bugs.kde.org/show_bug.cgi?id=523645

            Bug ID: 523645
           Summary: Provide a privacy-bounded, read-only external KWin
                    layout-telemetry D-Bus API
    Classification: Plasma
           Product: kwin
      Version First unspecified
       Reported In:
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: wishlist
          Priority: NOR
         Component: wayland-generic
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Feature request: provide a privacy-bounded, read-only external KWin API for
narrow
window-layout observation.

External same-user session clients need a maintained API to obtain an initial
snapshot
of ordinary application windows and receive lifecycle, focus, output/desktop,
tile,
non-content state, and settled-geometry changes. This would support local
accessibility, workflow, and layout tools without requiring compositor scripts,
effects, or plugins.

The current public interface exposes desktop/output state and interactive
one-window
inspection, but not a general external window list or event stream. A narrow
maintained
API would provide a safer integration boundary.

Requested data:
  - opaque per-session window token;
  - desktop-file application ID;
  - output and desktop identifiers;
  - frame/tile geometry and tile assignment;
  - minimized, maximized, fullscreen, keep-above, and focus state;
  - event sequence and monotonic timing.

Geometry should be emitted only after an interaction settles or a debounce
expires.

The API must never expose titles/captions, window text, document names or
paths,
browser URLs/history/tabs/content, PIDs or command lines, notifications,
clipboard,
input, screenshots/OCR, accessibility text, media, passwords, credentials, or
any
control/mutation operation. It should be read-only, session-local, with no
built-in
storage or network transport.

An illustrative interface, org.kde.KWin.LayoutTelemetry1, would provide
GetSnapshot(),
WindowAdded, WindowRemoved, and deduplicated WindowChanged events. A KWin
restart
creates a new session epoch. Implementation should test field exclusion,
reconnect/
snapshot behavior, window removal, duplicate suppression, and geometry
debounce.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to