A Tauri application with system tray functionality for Linux.
- System Tray Integration: The application runs in the system tray on Linux
- Tray Menu: Right-click the tray icon to access menu options:
- Show Konductor: Shows the main application window
- Hide Konductor: Hides the main application window
- Quit: Exits the application
- Click to Toggle: Left-click the tray icon to show/hide the main window
- Node.js and npm
- Rust and Cargo
- Tauri CLI
-
Install dependencies:
npm install
-
Start the development server:
npm run tauri dev
npm run tauri buildThis project uses automated GitHub Actions for building and releasing:
When you merge code to the main branch, the pipeline automatically:
- Builds the application for Linux and Windows
- Creates a new release with an incremented patch version
- Uploads the built binaries to GitHub Releases
For major/minor releases or manual builds:
# Create a manual release with specific version
./scripts/release.sh manual-release v2.0.0
# Check current release status
./scripts/release.sh check-statusUse the included release script for easy release management:
# Show help
./scripts/release.sh help
# Check current status
./scripts/release.sh check-status
# Create automatic release (from main branch)
./scripts/release.sh auto-release
# Create manual release with specific version
./scripts/release.sh manual-release v2.0.0For detailed information about the release workflow, see RELEASE_WORKFLOW.md.
The system tray functionality is implemented using the tray-icon crate and includes:
- Tray Icon: Uses the application's 32x32 icon
- Context Menu: Provides show/hide/quit options
- Event Handling: Responds to left-click and menu item clicks
- Window Management: Controls the main application window visibility
src-tauri/src/tray_linux.rs: System tray implementationsrc-tauri/src/main.rs: Main application with tray integrationsrc-tauri/tauri.conf.json: Tauri configuration with window settings
Currently tested and working on:
- Linux (Ubuntu 22.04+)
- Windows (with automated builds)
[Add your license here]