A minimal, cross-desktop Linux Electron wrapper for WhatsApp Web.
Supports:
- KDE, GNOME, Hyprland (Fedora, Debian, Arch tested)
- Tray icon with toggle (close button hides to tray)
- Right-click tray menu (Show / Quit)
- Downloads via system file picker
- Dynamic app icon (WIP)
- Portable, modular, and Git-friendly
whatsapp-electron/
├── main.js # Entry point
├── src/
│ ├── tray.js # Tray setup
│ └── downloads.js # Download picker logic
├── assets/
│ ├── icon.png # App icon
│ └── tray.png # Tray icon
├── package.json
├── install.sh # Builder / installer
├── update.sh # Update script
├── uninstall.sh # Uninstaller
├── .gitignore
└── README.md
- Clone the repository:
git clone https://github.com/yourusername/whatsapp-electron.git
cd whatsapp-electron- Make the installer executable and run it:
chmod +x install.sh
./install.shThis will:
- Install Node.js (if missing)
- Install project dependencies
- Create a
.desktopfile for your system
- Launch WhatsApp from your app menu or via terminal:
npm start- Close the window → app hides to tray
- Click the tray icon → show/hide window
- Right-click tray → menu (Show / Quit)
- Downloads → system file picker dialog
-
Modular structure makes it easy to add features:
src/tray.js→ tray logicsrc/downloads.js→ download handlingmain.js→ entry point
-
To run locally for development:
npm install
npm start- KDE Plasma (Fedora, etc.)
- GNOME (Debian, etc.)
- Hyprland (Arch, etc.)
Feel free to fork the repository, submit PRs, or open issues for bug reports and feature requests.
MIT License