Skip to content

Fix/pet overlay drag for COSMIC#1056

Merged
ilysenko merged 6 commits into
ilysenko:mainfrom
Leay15:fix/pet-overlay-drag
Jul 18, 2026
Merged

Fix/pet overlay drag for COSMIC#1056
ilysenko merged 6 commits into
ilysenko:mainfrom
Leay15:fix/pet-overlay-drag

Conversation

@Leay15

@Leay15 Leay15 commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds a generic Linux avatar-overlay input hook so optional features can opt into full-window input without changing default overlay behavior.
  • Updates pet-overlay to provide a frameless, transparent mascot window on Linux. In the unlocked mode, transparent space moves the native window while the mascot remains draggable within its view and tray controls remain interactive.
  • Preserves session-only positions, lockPosition, and existing Hyprland/Niri behavior.
  • Makes notification-tray placement adaptive: it stays above the mascot when space permits, moves below near the top edge, and snaps the mascot to the nearest viable vertical zone when neither side has enough room to avoid overlap.
  • Adds regression coverage for Linux input shaping, Wayland passthrough, window creation, internal mascot dragging, tray bounds/placement, locking, and patch idempotence.

Validation

  • node --test linux-features/pet-overlay/test.js — 54/54 passing.
  • node --test scripts/patch-linux-window-ui.test.js — 364/364 passing.
  • Manual validation in COSMIC remains pending after rebuilding the application with pet-overlay enabled.

Leay15 added 2 commits July 17, 2026 06:12
…and handle input shape based on overlay configuration
… improvements and native drag handling for Linux

@ilysenko ilysenko left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the focused COSMIC pet-overlay work. I found one blocker before this can merge.

This PR removes the existing KWin/KDE Plasma implementation and its regression coverage while the feature manifest and README still advertise kwin: true, KDE Plasma hints, and Plasma drag validation. The final patch no longer defines the KWin qdbus/script helpers or the CODEX_PET_OVERLAY_KWIN runtime override; only swallowed calls to missing KWin helpers remain. That silently regresses the documented Plasma path for pet-overlay users.

Please preserve the existing KWin support and tests while adding the COSMIC/full-window input path, or split any intentional KWin removal into a separate PR with updated feature defaults/docs and a clear rationale.

@ilysenko ilysenko left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved after restoring the Niri live-drag transport, preserving KWin coverage, and verifying the current head with local and GitHub checks.

@ilysenko
ilysenko merged commit e3a3fc6 into ilysenko:main Jul 18, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants