Unofficial GTK client for WhatsApp, built with Rust.
  • Rust 93%
  • Meson 2.9%
  • SCSS 1.9%
  • Nix 1.3%
  • Shell 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-06 02:28:04 -03:00
.github/workflows ci: remove dependabot 2026-02-21 01:59:52 -03:00
build-aux fix(flatpak): add grass module to Flatpak manifests 2026-03-03 23:55:01 -03:00
data chore(meson): include forgotten style files 2026-03-25 21:00:41 -03:00
hooks Init with GTK Rust Template 2026-02-12 13:37:20 -03:00
po po : Add spanish translation 2026-07-06 02:28:04 -03:00
src chore(i18n): regenerate pot and update po files 2026-07-05 00:14:29 -03:00
.editorconfig refactor: rebrand to Papo, a GTK WhatsApp client 2026-02-12 17:23:01 -03:00
.envrc refactor: rebrand to Papo, a GTK WhatsApp client 2026-02-12 17:23:01 -03:00
.gitignore refactor: remove ChatMessageListItem wrapper and implement RelmListItem on ChatMessage directly 2026-02-28 20:51:14 -03:00
AGENTS.md docs: add comprehensive AI agent guidelines for project development 2026-07-04 19:52:57 -03:00
build.rs refactor: redesign login view with stacked page navigation 2026-03-24 23:55:18 -03:00
Cargo.lock chore(deps): bump libadwaita to 0.9, relm4 to 0.11, switch whatsapp-rust to registry 2026-07-04 19:52:57 -03:00
Cargo.toml chore(deps): bump libadwaita to 0.9, relm4 to 0.11, switch whatsapp-rust to registry 2026-07-04 19:52:57 -03:00
default.nix chore: organize nix dependencies 2026-04-15 18:01:34 -03:00
flake.lock fix: not found lib hash and uprade wacore version 2026-03-27 16:49:36 +05:00
flake.nix feat: add persistence layer and restructure session architecture 2026-02-21 01:29:08 -03:00
LICENSE refactor: rebrand to Papo, a GTK WhatsApp client 2026-02-12 17:23:01 -03:00
meson.build feat: implement auth 2026-02-19 00:03:54 -03:00
meson_options.txt Init with GTK Rust Template 2026-02-12 13:37:20 -03:00
README.md docs(readme): add flathub dependency install flag to flatpak command 2026-03-03 23:55:53 -03:00
rust-toolchain.toml feat: add persistence layer and restructure session architecture 2026-02-21 01:29:08 -03:00
shell.nix chore: organize nix dependencies 2026-04-15 18:01:34 -03:00

Papo

Unofficial GTK client for WhatsApp, built with Rust. This project is in an early stage and under active development.

What does "Papo" mean?

"Papo" is Brazilian Portuguese slang for "chat" or "conversation." It is commonly used in the expression "bater um papo," which means to have a chat.

Install

Nix

nix build github:AmanoTeam/Papo
nix run github:AmanoTeam/Papo

Flatpak

flatpak-builder --install --user --install-deps-from=flathub build build-aux/com.amanoteam.Papo.json

Build from source

Requires Rust nightly, GTK4 (>= 4.20), libadwaita (>= 1.8), and Meson.

meson setup build
meson compile -C build
meson install -C build

Roadmap

  • QR code login
  • Chat list
  • Message history
  • Bidirectional infinite scroll pagination
  • Go-to-bottom button
  • Read receipts
  • Local message storage (libSQL)
  • Send messages
  • Media messages (images, videos, documents)
  • Voice messages
  • Stickers and animated stickers
  • Contact/chat info panel
  • Notifications
  • History sync (after pairing)
  • Chat search
  • Chat filters (unread, favorites, groups, non-contact)
  • Chat functions (pin, mute, delete, archive)
  • Chat admin functions (ban, change info/settings)
  • Message search
  • Message reactions
  • Reply/quote messages
  • Database encryption
  • Online status indicators
  • Typing indicators
  • Profile pictures

Translations

The project uses gettext for internationalization. Brazilian Portuguese (pt_BR) is currently supported. Translation files are located in the po/ directory, and contributions for new languages are welcome.

Acknowledgements

  • relm4 — Idiomatic GUI framework for GTK4 in Rust
  • whatsapp-rust — Rust implementation of the WhatsApp Web API

Contributing

We accept pull requests from our Forjego instance and GitHub. Fork either repository, create a feature branch, and submit a pull request. Bug reports and feature requests are also welcome via the issue tracker.

License

Licensed under the Apache License 2.0. See the LICENSE file for details.

Author: Andriel Ferreira