Skip to content

Add shortcut functionality to wayland-screen-mirror - #657

Draft
frodew wants to merge 2 commits into
noctalia-dev:mainfrom
frodew:patch-1
Draft

Add shortcut functionality to wayland-screen-mirror#657
frodew wants to merge 2 commits into
noctalia-dev:mainfrom
frodew:patch-1

Conversation

@frodew

@frodew frodew commented Sep 7, 2026

Copy link
Copy Markdown

Plugin

  • Id: elijaharch/wl-screen-mirror
  • New plugin
  • Update to an existing plugin (version bumped in plugin.toml)

What it does

Adds a Control Center shortcut tile (toggle) for the screen mirror. The
tile reflects the mirror service's running state (on/off) via the shared
mirror_status plugin state. Clicking it while mirroring is active (or
starting) stops the mirror directly. Clicking it while stopped opens the
existing controls panel so the user can pick source/destination displays
and start mirroring — starting always requires a monitor pair, so there's
no state to toggle straight to "on" from the tile alone.

External dependencies

None beyond the existing wl-mirror dependency, already declared in
plugin.toml. No new dependency was added for the shortcut.

Testing

  • Tested on Niri
  • Tested on Hyprland
  • Tested on Sway
  • Tested on another compositor:
  • Noctalia version tested against: 5.0.1
  • Plugin API level: 3

Screenshots / Videos

image

Checklist

  • The directory name matches the part of id after the / in plugin.toml exactly.
  • It ships plugin.toml, README.md, thumbnail.webp, and translations/en.json.
  • README.md follows the README template, documents every entry id and dependency, and includes exact panel IPC commands and launcher prefixes where applicable.
  • thumbnail.webp is present and relevant; for a new plugin I created it with the thumbnail generator, and for an update I regenerated it with the generator if the visual identity or user-facing appearance changed.
  • version follows semver and is bumped in this PR; plugin_api is the oldest API level this plugin requires.
  • Every non-English translation in this PR uses a locale supported by Noctalia core, and I can read, write, and understand that language well enough to review and maintain it (no unreviewed machine/LLM translations).
  • I did not edit catalog.toml; CI generates it.
  • This PR touches exactly one plugin directory.

Code review attestation

  • The code is readable and not obfuscated, minified, or generated.
  • It does not download and execute remote code.
  • Every network call, filesystem write, and spawned process is something the description above accounts for.
  • I have the right to publish this code under the license declared in plugin.toml.

@Noctalia-CI

Noctalia-CI commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

The description now contains the required template structure.

@Noctalia-CI
Noctalia-CI marked this pull request as draft September 7, 2026 13:14
@Noctalia-CI

Copy link
Copy Markdown
Contributor

CC @elijaharch — this pull request was automatically moved to draft until you have had a chance to look at it. It will be marked ready for review automatically once you reply here.

@frodew
frodew marked this pull request as ready for review September 7, 2026 13:17
@ItsLemmy

ItsLemmy commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

LGTM, but still want @elijaharch approval

@ItsLemmy
ItsLemmy marked this pull request as draft September 7, 2026 13:41
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.

3 participants