/whatsapp-for-linux

An unofficial WhatsApp desktop application for Linux.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

WhatsApp for Linux

An unofficial WhatsApp desktop application for Linux.

Download on Flathub Get it from the Snap Store

Action Status Action Status Action Status Action Status POEditor

App Window

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:

Packaging Status

Dependencies

  • cmake >= 3.12
  • intltool
  • gtkmm-3.0
  • webkit2gtk-4.1
  • 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.

Code Contributors

Code Contributors