https://github.com/rafatosta/zapzap
WhatsApp desktop application written in PyQt6 + PyQt6-WebEngine.
https://github.com/rafatosta/zapzap
flathub flatpak linux linux-desktop messaging pyqt6 python qt qt6 whatsapp whatsapp-web
Last synced: 2 months ago
JSON representation
WhatsApp desktop application written in PyQt6 + PyQt6-WebEngine.
- Host: GitHub
- URL: https://github.com/rafatosta/zapzap
- Owner: rafatosta
- License: gpl-3.0
- Created: 2022-01-01T14:34:09.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-22T12:27:04.000Z (3 months ago)
- Last Synced: 2025-04-14T00:07:40.394Z (2 months ago)
- Topics: flathub, flatpak, linux, linux-desktop, messaging, pyqt6, python, qt, qt6, whatsapp, whatsapp-web
- Language: Python
- Homepage: https://rtosta.com/zapzap-web/
- Size: 7.33 MB
- Stars: 275
- Watchers: 3
- Forks: 19
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# [ZapZap](https://rtosta.com/zapzap-web/) - WhatsApp Desktop for Linux
## About
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](https://en.wikipedia.org/wiki/Progressive_web_app).
## Download
**Flathub:** [Download through Flathub](https://flathub.org/apps/details/com.rtosta.zapzap)
**Fedora Copr:** [Download through Fedora Copr](https://copr.fedorainfracloud.org/coprs/rafatosta/zapzap/)## Features
ZapZap extends WhatsApp Web with additional features:
### **Appearance**
- Adaptive light and dark mode
- Fullscreen mode
- Custom window decorations
- Interface scaling adjustment (ideal for 2K/4K screens)### **Usability**
- 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### **Extras**
- 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## Development
ZapZap is built using PyQt6 and PyQt6-WebEngine.
### **Build & Run Locally**
- [Instructions](/_run/README.md)
### **Packaging**
- [Fedora Copr](/_packaging/fedora/zapzap.spec)
- [Flatpak](/_packaging/flatpak/README.md)### **Translation**
ZapZap supports translations. If your language file is missing from the [po](/po) folder, submit a pull request or open an [issue](https://github.com/rafatosta/zapzap/issues).
## Execution
### **Description**
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.
### **Requirements**
- Python 3.9 or higher
### **Installation**
1. **Clone the repository**
```bash
git clone https://github.com/rafatosta/zapzap.git
cd zapzap
```2. **Install dependencies**
Ensure that Poetry is installed. If not, follow [this guide](https://python-poetry.org/docs/#installation).
Then, install the project dependencies:
```bash
poetry install
```3. **Activate the virtual environment**
Poetry creates a virtual environment for the project. To activate it, run:
```bash
poetry shell
```### **Usage**
#### Run in development mode
```bash
python run.py dev
```#### Run in preview mode
```bash
python run.py preview
```Builds and runs directly in Flatpak
#### Generate the executable for production
```bash
python run.py build
```The executable will be generated in the `dist/` folder as `zapzap.flatpak`.
### **Project Structure (Under Construction)**
```plaintext
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
Contributions are welcome! Please submit a pull request with any improvements or changes you wish to propose.
## License
This project is licensed under the GPL. See the LICENSE file for more information.
## Donations
**PayPal:** [Donate via PayPal](https://www.paypal.com/donate/?business=E7R4BVR45GRC2&no_recurring=0&item_name=ZapZap+-+Whatsapp+Desktop+for+linux%0AAn+unofficial+WhatsApp+desktop+application+written+in+Pyqt6+%2B+PyQt6-WebEngine.¤cy_code=USD)
**Pix:** [Donate via Pix](https://nubank.com.br/pagar/3c3r2/LS2hiJJKzv)
**Ko-fi:** [Donate via Ko-fi](https://ko-fi.com/X8X2E1OLG)## Contact
**Maintainer:** Rafael Tosta
**Email:** [[email protected]](mailto:[email protected])