Skip to content
 
 

Repository files navigation

Whatsie — WhatsApp Web, in a real desktop app

Whatsie

WhatsApp Web, in a real desktop app.
Native notifications, a tray unread badge, calls and screen share, a real downloads manager, themes that follow the page, spell check, a proxy, and an optional app lock — lightweight and open source, built with Qt 6.

MIT license Qt 6.11 C++20 Linux


Why Whatsie

WhatsApp Web is great, but a browser tab is a poor home for it. Whatsie gives it a real window: it stays in your tray, tells you when a message arrives, opens your downloads where you expect them, and gets out of the way. It’s a thin, native shell — no Electron — so it starts fast and stays light.

Screenshots

WhatsApp Web running in the Whatsie window

Passcode lock screen Appearance settings
Privacy and permission controls One-click bug report
About and diagnostics

Features

Desktop integration

  • Native notifications with contact avatars.
  • System-tray icon with an unread badge, mute, and do-not-disturb.
  • Single instance with --profile for multiple accounts; autostart at login.
  • whatsapp: / wa.me links and a --new-chat command open straight into a chat.

The web experience, done right

  • Light / dark / follow-system theming, kept in step with WhatsApp Web.
  • Voice, video and screen-share calls (Wayland via the desktop portal), with a reliable full-screen exit hint.
  • A real downloads window with history; drag-and-drop and paste of attachments.
  • Zoom and interface scaling; optional smooth scrolling.
  • System-language spell check with suggestions.

Privacy & control

  • Per-site camera, microphone and location controls.
  • Privacy blur to hide message text and media until you hover.
  • A passcode app lock (PBKDF2) that covers every window and can lock on start, on hide, or after idle.
  • HTTP / SOCKS5 network proxy with authentication.

Honest about problems

  • A built-in Report a bug flow that pre-fills a GitHub issue with diagnostics — and the last crash, if there was one — while keeping your messages private.

Install

Linux

Get it from the Snap Store    Get it on Flathub

# Snap — any distro with snapd
sudo snap install whatsie

# Flatpak — from Flathub
flatpak install flathub com.ktechpit.whatsie

# Arch Linux (AUR) — builds from source
yay -S whatsie      # or: paru -S whatsie

AppImage and a self-contained .deb (Qt bundled, installs on any modern Debian/Ubuntu) are attached to the latest release. Make the AppImage executable and run it (chmod +x whatsie-*.AppImage); install the deb with sudo apt install ./whatsie_*_amd64.deb.

Windows (x64)

Download the installer or portable build from the latest release:

  • whatsie-<version>-x64.msi — installer (Start Menu + Desktop shortcuts, in-place upgrades)
  • whatsie-<version>-windows-x64.zip — portable, no install required

Windows 10/11, 64-bit; it bundles its own Qt runtime.

Spell check

Whatsie bundles dictionaries for several languages (English, German, Spanish, French, Italian, Russian). Turn it on and pick a language in Settings → Advanced → Spell check.

To add a language that isn't bundled, drop its Chromium <code>.bdic file into the dictionaries folder — the Open folder… button in that same settings section takes you straight there (then reopen the dialog to pick the language):

  • Snap: ~/snap/whatsie/current/.local/share/ktechpit/whatsie/qtwebengine_dictionaries/
  • Flatpak: ~/.var/app/com.ktechpit.whatsie/data/ktechpit/whatsie/qtwebengine_dictionaries/
  • Other: ~/.local/share/ktechpit/whatsie/qtwebengine_dictionaries/

.bdic is Chromium's compiled dictionary format. Convert a Hunspell .dic/.aff pair with the qwebengine_convert_dict tool that ships with Qt WebEngine, e.g. qwebengine_convert_dict fr_FR.dic fr-FR.bdic.

Build from source

Requires Qt 6.11 (the version shipped by the snap kf6-core24 runtime and the Flathub KDE runtime), CMake ≥ 3.21, and a C++20 compiler.

# Development build against the KDE Qt 6.11 snap SDK (works on any distro)
sudo snap install kde-qt6-core24-sdk kf6-core24
scripts/dev-build.sh --tests    # configure + build + run the test suite
scripts/dev-run.sh              # launch

# …or with a system Qt >= 6.11
cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build -j
ctest --test-dir build --output-on-failure

Packagers can bundle only selected spell-check dictionaries with, e.g., -DWHATSIE_DICTIONARIES="en-US;de-DE" (empty — the default — bundles every Hunspell dictionary found in -DWHATSIE_HUNSPELL_DIR, /usr/share/hunspell).

Project layout

src/core      pure logic (settings, services) — Qt Core only, unit-tested
src/web       WebEngine profile/page/view, injected scripts, the JS↔C++ bridge
src/platform  OS backends behind interfaces (notifications, autostart, files, …)
src/ui        QtWidgets: main window, dialogs, tray, lock screen
src/app       Application object, CLI, single instance
tests/        Qt Test suites (unit + offscreen smoke)
snap/         snap packaging (built in CI)

Contributing

Found a bug? The fastest path is Menu → About → Report a bug…, which opens a pre-filled issue with the diagnostics already attached. Otherwise, open an issue or a pull request — the test suite runs with scripts/dev-build.sh --tests.

License

MIT © Keshav Bhatt

WhatsApp is a trademark of WhatsApp LLC. Whatsie is an independent client and is not affiliated with, endorsed by, or sponsored by WhatsApp or Meta.

About

Feature rich WhatsApp Client for Desktop Linux

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages