Skip to content

Prefer native Wayland monitoring and deprecate swayidle #86

Description

@Staphylococcus

Parent: #21

Phase: v1.4.0 promotion and compatibility migration.

Blocked by: #85

Goal

Promote the field-validated native Wayland provider to the normal non-GNOME path while retaining delegated swayidle as an explicit, deprecated compatibility backend for existing installations and older compositors.

Scope

  • Update screen_backend=auto selection to prefer:
    1. the complete native GNOME contract
    2. the supported native Wayland protocol contract
    3. delegated swayidle compatibility when installed
  • Stop presenting swayidle as a normal choice in fresh interactive configuration.
  • Continue accepting and running existing explicit screen_backend=swayidle configurations during the compatibility window.
  • Emit a clear deprecation notice for explicit delegated-backend use.
  • Do not silently rewrite an existing backend selection.
  • Make the resolved provider, capability/version limitation, and fallback reason visible in settings and diagnostics.
  • Document compositor requirements, compatibility fallback behavior, and the planned v2.0.0 removal.
  • Extend settings, detection, installer, and release-smoke coverage for promotion and legacy configuration.

Acceptance criteria

  • A supported non-GNOME Wayland session resolves to the native Wayland backend under auto.
  • GNOME remains preferred when its complete native contract is available.
  • An existing explicit screen_backend=swayidle value continues to work and reports deprecation clearly.
  • Fresh configuration no longer encourages new delegated-backend selections.
  • Unsupported native sessions either use the documented compatibility fallback or report a precise unsupported-session diagnostic.
  • Settings output distinguishes configured selection, resolved backend, and fallback reason.
  • Upgrade and release-smoke coverage proves legacy configuration is preserved without a silent rewrite.
  • Documentation identifies the compatibility window and the conditions required before final removal.

Out of scope

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions