Pear Desktop: An Electron-based Music Player Extension

Summary
Pear Desktop is an open-source, Electron-based application designed to enhance your music player experience with a native look and feel. It offers cross-platform compatibility for Windows, macOS, and Linux, alongside extensive customization options through themes and a robust plugin system. This independent extension provides a dedicated desktop interface for your favorite music.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
Pear Desktop is a powerful, open-source desktop application built with Electron and TypeScript, designed to act as an extension for music players. It provides a dedicated, native-looking interface for your music, offering a seamless experience across various operating systems. With its focus on customization and extensibility, Pear Desktop allows users to personalize their music listening environment through custom themes and a comprehensive plugin system. It supports Windows, macOS, and Linux, making it a versatile choice for music enthusiasts.
Installation
Pear Desktop offers straightforward installation methods across different platforms.
Arch Linux
Install the pear-desktop package from the AUR. For detailed AUR installation instructions, refer to the Arch Wiki page.
macOS
You can install the app using Homebrew:
brew install pear-devs/pear/pear-desktop
If you install manually and encounter an "is damaged and can’t be opened" error, run the following command in your Terminal:
/usr/bin/xattr -cr /Applications/Pear\ Desktop.app
Windows
For Windows, you have several options:
Using Scoop Package Manager:
scoop bucket add extras
scoop install extras/pear-desktop
Using Winget (Windows 11's official CLI package manager):
winget install pear-devs.pear-desktop
Offline Installation (without a network connection):
- Download the
*.nsis.7zfile for your device architecture (x64, ia32, or arm64) from the latest release page. - Download the installer (
*-Setup.exe) from the same release page. - Place both files in the same directory.
- Run the installer.
Examples
Pear Desktop's strength lies in its customization capabilities, particularly through themes and plugins.
Custom Themes
You can load custom CSS files to change the application's appearance. Navigate to Options > Visual Tweaks > Themes within the application.
Explore predefined themes at kerichdev/themes-for-ytmdesktop-player.
Building Your Own Plugins
Pear Desktop provides a robust plugin API, allowing you to manipulate the app, change the front-end HTML/CSS, and communicate between the front and back ends.
To create a plugin, start by creating a folder in src/plugins/YOUR-PLUGIN-NAME and an index.ts file:
import style from './style.css?inline'; // import style as inline
import { createPlugin } from '@/utils';
export default createPlugin({
name: 'Plugin Label',
restartNeeded: true, // if value is true, pear-desktop will show a restart dialog
config: {
enabled: false,
}, // your custom config
stylesheets: [style], // your custom style
renderer() {} // define renderer hook
});
This example shows how to inject custom CSS. For more advanced interactions, including manipulating the BrowserWindow or communicating via IPC, refer to the official documentation and existing plugins in the repository.
Why Use Pear Desktop?
Pear Desktop offers several compelling reasons for music lovers:
- Native Look & Feel: Enjoy a desktop application that integrates seamlessly with your operating system's aesthetics.
- Cross-Platform Compatibility: Available on Windows, macOS, and Linux, ensuring a consistent experience regardless of your preferred OS.
- Extensive Customization: Personalize your music player with custom themes to match your style.
- Powerful Plugin System: Extend functionality and tailor the application to your specific needs by building or installing plugins.
- Open Source: Benefit from a community-driven project with transparent development and continuous improvements.
Links
- GitHub Repository: https://github.com/pear-devs/pear-desktop
- Latest Release: https://github.com/pear-devs/pear-desktop/releases/latest