Skip to content

feat(transparent-player): Added Linux and macOS support#4199

Open
its-iris wants to merge 4 commits intopear-devs:masterfrom
its-iris:upstream-feat-transparent-player
Open

feat(transparent-player): Added Linux and macOS support#4199
its-iris wants to merge 4 commits intopear-devs:masterfrom
its-iris:upstream-feat-transparent-player

Conversation

@its-iris
Copy link
Contributor

No description provided.

its-iris and others added 2 commits December 24, 2025 22:57
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR extends the transparent-player plugin to support Linux and macOS platforms, which was previously Windows-only. The changes introduce platform-specific material types and refactor the code into separate files for better organization.

Changes:

  • Added macOS vibrancy material types (WINDOW, FULLSCREEN_UI, CONTENT, UNDER_WINDOW, UNDER_PAGE) to the MaterialType enum
  • Refactored plugin code into separate menu.ts and backend.ts files with platform-specific logic
  • Added Linux-specific initialization code in src/index.ts to enable transparency support with required command-line switches
  • Removed Platform.Windows restriction to allow the plugin to work on all platforms
  • Changed default material type from ACRYLIC to NONE for cross-platform compatibility

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/plugins/transparent-player/types.ts Added macOS-specific material type enum values and reorganized the enum with comments
src/plugins/transparent-player/menu.ts New file containing platform-specific menu logic that filters material types based on the operating system
src/plugins/transparent-player/index.ts Refactored to extract menu and backend logic to separate files; removed Windows platform restriction and changed default config
src/plugins/transparent-player/backend.ts New file containing backend logic with platform-specific window material handling for Windows (setBackgroundMaterial) and macOS (setVibrancy)
src/index.ts Added Linux-specific configuration for transparent-player plugin, including required command-line switches and hardware acceleration handling

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ArjixWasTaken
Copy link
Member

Does this plugin support freebsd?
If not, then please add the platform property back to the createPlugin object, and explicitly specify the supported platforms.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants