A minimalist macOS menubar app for email notifications.
Run the following command:
brew install yiweishen/tap/pulseTo run the app locally, you need to have Rust and Node.js installed. Clone the repository and run:
npm install
npm run tauri devTo build the app for production, run the following command:
npm run packageTo release a new version, make sure you don't have any uncommitted changes, and then:
npm run releaseYou may need to sign the application before running it.
chmod +x /Applications/Pulse.app && \
xattr -cr /Applications/Pulse.app && \
codesign --force --deep --sign - /Applications/Pulse.appPulse connects to Gmail using OAuth 2.0. You need to create your own Google Cloud OAuth credentials (free).
- Go to Google Cloud Console and create a new project (or select an existing one).
- Go to APIs & Services → Library.
- Search for Gmail API and click Enable.
- Go to APIs & Services → Credentials.
- Click Create Credentials → OAuth client ID.
- If prompted, configure the OAuth consent screen first:
- Choose OAuth 2.0 Client IDs, fill in the other details.
- Add your Google account as a Test user.
- Back in Create OAuth client ID:
- Application type: Desktop app
- Give it any name and click Create.
- Copy the Client ID and Client Secret shown in the dialog.
- Open Pulse from the menu bar.
- Paste your Client ID and Client Secret into the setup fields and click Save.
- Click Connect Gmail — a browser window will open.
- Sign in with your Google account and grant the requested permission.
- Return to Pulse — your unread count will appear in the menu bar.
- Implement a native window menu using the Tauri window menu feature.
- Extend support to other operating systems, including Windows and Linux, for broader compatibility.
- Integrate support for more email services such as Outlook, Yahoo, and others.
- Allow users to manage and switch between multiple accounts within the app.
- Enable users to create and apply custom configurations for more flexibility.
Pulse is an experimental weekend project built to explore Rust and Tauri. As such, it's not production-ready:
- Use at your own risk.
- Expect breaking changes and frequent updates.
