WhatsApp for Linux
An unofficial WhatsApp desktop application for Linux.
About
WhatsApp for Linux is an unofficial WhatsApp desktop application written in C++ with the help of gtkmm and WebKitGtk libraries. Check out wiki for further details.
Features
- Features come with WhatsApp Web
- WhatsApp specific keyboard shortcuts work with Alt key instead of Cmd
- Zoom in/out
- System tray icon
- Notification sounds
- Autostart with system
- Fullscreen mode
- Show/Hide headerbar by pressing Alt+H
- Localization support in system language
- Spell checking in system language. You need to install the corresponding dictionary to get this working i.e.
hunspell-en_us
package for US English - Open chat by phone number
Using WhatsApp for Linux
The application is available from a number of Linux distributions:
Dependencies
- cmake >= 3.12
- intltool
- gtkmm-3.0
- webkit2gtk-4.0
- ayatana-appindicator3-0.1
- libcanberra
- libhunspell (Optional for spell checking)
Build & Run
Development
# Create a debug build directory and go into it
mkdir -p build/debug && cd build/debug
# Build the project
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr ../..
make -j4
# Optionally, to update the default translation file
make update-translation
# Run
./whatsapp-for-linux
Local installation
# Run inside the build directory once the application is built
# You'll probably need administrator privileges for this
make install
Uninstall
# Run inside the build directory if you want to uninstall all files
# install_manifest.txt file is created when you run make install
xargs rm < install_manifest.txt
Packaging
Debian
# Don't forget to update the version number (0) in debian/changelog before this
# Build the package.
dpkg-buildpackage -uc -us -ui
Snap
# Build the package. Pass --use-lxd option in a virtual environment
snapcraft
AppImage
# Make sure that the application is installed into the `<Project Root>/AppDir` directory
make install DESTDIR=../../AppDir
# Build the package
appimage-builder --skip-test --recipe ./appimage/AppImageBuilder.yml
Contributing
Please read contributing.