Skip to content

Add macOS support for sender and viewer #1

Description

@Viniciusap

Today the broker runs on Linux and the sender/viewer are Windows-only. The goal is to bring the sender (screen capture + input injection) and the viewer (render + input) to macOS. The broker already runs anywhere Node does, so it needs no change.

This is an epic, too big for one PR. I'm tracking the pieces here so each can ship on its own.

Sender (capture + input)

  • Screen capture (ScreenCaptureKit / CGDisplayStream) behind the existing IScreenCapturer
  • Input injection (mouse/keyboard/scroll) via CGEvent behind IInputInjector
  • Handle Screen Recording + Accessibility permission prompts on first run
  • Hardware H.264 via VideoToolbox as a new ENCODER option, falling back to JPEG

Viewer (render + input)

  • Window + stream rendering (current viewer is WPF; needs a cross-platform or macOS-native UI)
  • Capture mouse + keyboard on macOS

Build / packaging

  • macOS path in the install/bootstrap scripts (Homebrew for deps)
  • CI job for the macOS build
  • Signed/notarized build, or docs on running unsigned

The Windows-only parts already sit behind IScreenCapturer / IInputInjector, so a macOS port is mostly filling those in. Interested in even one checkbox? Comment here and I'll split it into its own issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions