⚡ Omaga Sync
Lightweight MEGA two-way sync bar widget, monitor daemon, and GNOME Files / Nautilus emblem integrator for Omarchy (Quickshell / Wayland / Hyprland).
Powered directly by the headless mega-cmd-server engine—designed as a reliable, glitch-free Wayland alternative to the official MEGAsync desktop app.
<p align="center"> <img src="preview.webp" alt="Omaga Sync Preview" width="720" /> </p>
⚡ Architecture
mega-cmd-server ── systemd (omaga-sync-engine.service) Headless MEGAcmd sync daemon
│ Local UNIX socket
omaga-sync monitor ── systemd (omaga-sync-monitor.service) 5s poll → status.json (bounded reader)
├── GNOME Files / Nautilus Integrator └─ In-process Gio metadata::emblems
└── Desktop Notification Dispatcher └─ notify-send on errors/issues
Bar Widget (bisma.omaga-sync) ── Quickshell QML Panel ├─ Storage quota, transfer progress
├─ Pause / Resume / Add / Remove pairs
└─ Interactive cloud folder picker & creator
🚀 Key Features
- 📊 Dynamic Status Bar Indicator:
- Real-time synced status icon, smooth pulse animation while actively transferring, dimmed icon when paused, and high-visibility alert state during sync issues or offline engine.
- 📂 Rich Interactive Panel:
- Account storage quota progress bar (used vs. total quota).
- List of local ↔ remote folder pairs with individual sync status.
- Global & per-folder Pause / Resume controls.
- Remove Sync button (safe; files on both local and cloud stay intact).
- Interactive Remote Folder Picker & Creator: browse and select existing remote MEGA folders or create new cloud directories straight from the UI.
- Integrated session management with Logout and terminal-assisted Login onboarding.
- 🏷️ Nautilus / GNOME Files Sync Emblems:
- Corner status badges on synced folders and files via
metadata::emblems(emblem-omaga-synced,emblem-omaga-syncing,emblem-omaga-error, andemblem-omaga-transfer). - High-performance in-process
Giointegration with diffed writes, rate-budget chunking, and automatic cleanup on monitor stop/uninstall.
- Corner status badges on synced folders and files via
- 🌐 Bilingual Internationalization (i18n):
- Full English (
en) and Bahasa Indonesia (id) support with automatic system locale detection or configurable widget preference.
- Full English (
- 🔔 Actionable & Spam-Free Notifications:
- Sent only when user intervention is required (login expired, engine offline, or sync issue encountered).
- 🛡️ Systemd Supervision & Auto-Healing:
- Supervises
mega-cmd-serverunder systemd user session with automatic startup repair for unmanaged instances.
- Supervises
📦 Installation & Setup
1. Prerequisite: Install MEGAcmd
omarchy pkg aur add megacmd
2. Install Plugin & Services
Clone the repository and run the installer:
git clone https://github.com/bismawy/omaga-sync.git
cd omaga-sync
./install.sh
3. Log in to MEGA (One-time)
mega-login your-email@example.com
(Or click the Login button directly from the Omaga Sync bar panel to open the interactive login helper).
🛠️ CLI Commands (omaga-sync)
The omaga-sync utility can be executed directly from terminal or custom scripts:
| Command | Description |
|---|---|
omaga-sync status |
Print current bounded status JSON from the monitor daemon |
omaga-sync pause [folder] |
Pause syncing for a specific folder or all active pairs |
omaga-sync resume [folder] |
Resume syncing for a specific folder or all active pairs |
omaga-sync add <mega-folder> [base] |
Pair remote MEGA folder to a local directory (default ~/MEGA) |
omaga-sync remove <local-folder> |
Remove sync pair safely (keeps files intact on disk & cloud) |
omaga-sync logout |
Log out of active MEGA session |
omaga-sync login [email] |
Launch interactive terminal login helper |
omaga-sync open <folder> |
Open local folder in default file manager (xdg-open) |
omaga-sync repair |
Terminate unmanaged server instances and restart via systemd |
🔧 Development & Hot Reload
To reload QML / JS changes without restarting daemon services:
./install.sh --plugin-only
Validate plugin:
omarchy plugin validate ~/.config/omarchy/plugins/bisma.omaga-sync
📜 License
Distributed under the MIT License © 2026 Bisma.