ZapZap - WhatsApp Desktop for Linux
ZapZap brings the WhatsApp experience on Linux closer to that of a native application. Since Meta does not provide a public API for third-party applications, ZapZap is developed as a Progressive Web Application.
Flathub: Download through Flathub
Fedora Copr: Download through Fedora Copr
ZapZap extends WhatsApp Web with additional features:
- Adaptive light and dark mode
- Fullscreen mode
- Custom window decorations
- Interface scaling adjustment (ideal for 2K/4K screens)
- Keyboard shortcuts for main options
- Adaptive system tray icon (notifies new messages)
- Background process support
- Drag-and-drop functionality
- Ability to select a custom folder for downloads
- Temporary folder for opening files
- Spellchecker with language selection via context menu
- Customizable system tray icons
- Option to choose a folder for custom dictionaries
- Setting to disable the native file selection dialog (Hyprland)
- Reorganized Settings Panel
- Added Performance section
ZapZap is built using PyQt6 and PyQt6-WebEngine.
ZapZap supports translations. If your language file is missing from the po folder, submit a pull request or open an issue.
This is a Python application that can be run in three different modes:
- dev: Development mode
- preview: Preview mode
- build: Generates an executable for production (
zapzap.flatpak
)
The project uses zapzap.toml
to manage dependencies and a Python script (run.py
) to execute commands.
- Python 3.9 or higher
- Clone the repository
git clone https://github.com/rafatosta/zapzap.git
cd zapzap
- Install dependencies
Ensure that Poetry is installed. If not, follow this guide.
Then, install the project dependencies:
poetry install
- Activate the virtual environment
Poetry creates a virtual environment for the project. To activate it, run:
poetry shell
python run.py dev
python run.py preview
Builds and runs directly in Flatpak
python run.py build
The executable will be generated in the dist/
folder as zapzap.flatpak
.
zapzap/
├── zapzap.toml # Project configuration file
├── run.py # Script to manage execution modes
├── zapzap/
│ └── main.py # Main application file
├── dist/ # (Generated) Folder where the executable will be created
└── README.md # Project documentation
Contributions are welcome! Please submit a pull request with any improvements or changes you wish to propose.
This project is licensed under the GPL. See the LICENSE file for more information.
PayPal: Donate via PayPal
Pix: Donate via Pix
Ko-fi: Donate via Ko-fi
Maintainer: Rafael Tosta
Email: rafa.ecomp@gmail.com