A modern, native GTK4/LibAdwaita wrapper for WhatsApp Web that provides seamless integration with the Linux desktop environment.
BREAKING CHANGE NOTICE: Karere v0.8.0 represents a complete rewrite from Python to native Vala/GTK4 for superior performance and integration.
- Mobile Re-sync Required: After upgrading to v0.8.0, you must re-sync your mobile device with WhatsApp Web as this is a completely new application implementation
- Settings Reset: Previous application settings will not be transferred - you'll need to reconfigure preferences
- Performance Boost: Expect significantly improved startup time, memory usage, and overall responsiveness
- Enhanced Features: New native notification system, accessibility support, and keyboard shortcuts
- Language: Python 3 → Native Vala compilation
- UI Framework: GTK4 with modern LibAdwaita and Blueprint declarative UI
- Build System: setuptools → Meson with comprehensive toolchain
- Performance: Interpreted → Compiled native binary
- Integration: Enhanced desktop integration and accessibility
- Native Desktop Integration: True native notifications using GNotification, not browser notifications
- LibAdwaita Theming: Full support for Light, Dark, and System themes with native styling
- Comprehensive Logging: Structured logging system with configurable levels and file/console output
- Crash Reporting: Optional crash detection and reporting system for improved stability
- WebKitGTK Optimization: Efficient resource usage compared to browser-based solutions
- Spell Checking: Multi-language spell checking support
- Privacy Controls: Granular settings for logging, notifications, and crash reporting
# Clone the repository
git clone https://github.com/tobagin/karere.git
cd karere
# Build and install development version
./scripts/build.sh --dev --installKarere is available on Flathub.
Launch Karere from your applications menu or run:
karereThe application will load WhatsApp Web and provide native desktop integration.
Access preferences through the application menu or keyboard shortcut to configure:
- Appearance: Theme selection (Light, Dark, System)
- Privacy: Logging controls and crash reporting settings
- Notifications: Native notification preferences
Ctrl+,- Open PreferencesCtrl+Q- Quit ApplicationF11- Toggle Fullscreen
Karere is built using modern GNOME technologies:
- Vala: Primary programming language for type safety and productivity
- GTK4: Modern toolkit with excellent Wayland support
- LibAdwaita: Native GNOME design language and components
- WebKitGTK 6.0: Efficient web rendering engine
- Blueprint: Declarative UI definition language
- Flatpak: Secure application distribution
Karere is designed with privacy in mind:
- Sandboxed: Runs in a Flatpak sandbox with minimal permissions
- Opt-in Telemetry: All logging and crash reporting is disabled by default
- Local Storage: Uses standard user data directories, no external services
- Transparent: Open source code available for audit
Contributions are welcome! Please see our development documentation:
- Development Setup - Setting up your development environment
- Code Style Guide - Coding standards and conventions
- Architecture Overview - Technical architecture details
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
meson test -C build - Submit a pull request
- User Documentation - User guides and help
- Development Documentation - Developer resources
- Flathub Compliance - Distribution requirements
Karere is licensed under the GNU General Public License v3.0 or later. See LICENSE for the full license text.
- Bug Reports: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Project Wiki
- GNOME Project: For the excellent GTK4 and LibAdwaita frameworks
- WebKitGTK Team: For the efficient web rendering engine
- WhatsApp Inc.: For WhatsApp Web
- Vala Community: For the productive programming language
| Light Theme | Dark Theme |
|---|---|
| Preferences | Notifications |
|---|---|
Karere - Native WhatsApp Web client for Linux desktop environments.