Skip to content

rafatosta/zapzap

Repository files navigation

ZapZap - WhatsApp Desktop for Linux

ZapZap for WhatsApp

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.

Download

Flathub: Download through Flathub
Fedora Copr: Download through Fedora Copr

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

Packaging

Translation

ZapZap supports translations. If your language file is missing from the po folder, submit a pull request or open an issue.

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
git clone https://github.com/rafatosta/zapzap.git
cd zapzap
  1. Install dependencies

Ensure that Poetry is installed. If not, follow this guide.

Then, install the project dependencies:

poetry install
  1. Activate the virtual environment

Poetry creates a virtual environment for the project. To activate it, run:

poetry shell

Usage

Run in development mode

python run.py dev

Run in preview mode

python run.py preview

Builds and runs directly in Flatpak

Generate the executable for production

python run.py build

The executable will be generated in the dist/ folder as zapzap.flatpak.

Project Structure (Under Construction)

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
Pix: Donate via Pix
Ko-fi: Donate via Ko-fi

Contact

Maintainer: Rafael Tosta
Email: rafa.ecomp@gmail.com