A fork of whatever the current version of Gajim on Debian stable is but with various layout, styling, and interaction changes to make it feel somewhat closer to DIscord.
  • Python 97.9%
  • CSS 1%
  • Shell 0.6%
  • NSIS 0.4%
  • Roff 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-11 06:16:10 -04:00
.chglog cfix: Add missing and remove unneeded execute bits 2022-12-11 21:37:16 +01:00
.ci ci: Add Windows MSIX package build 2023-06-09 08:32:26 +00:00
.githooks cq: Format support scripts with black 2024-11-05 22:54:30 +01:00
.gitlab/issue_templates other: Update Gitlab release issue template 2024-06-22 21:09:55 +02:00
data Various layout and styling changes 2026-06-23 06:29:08 -04:00
debian Various layout and styling changes 2026-06-23 06:29:08 -04:00
flatpak release: 2.1.1 2025-04-17 00:22:51 +02:00
gajim Updated inline video player controls 2026-07-11 06:16:10 -04:00
LICENSES other: Replace license headers with SPDX license identifiers 2024-03-04 08:47:56 +00:00
mac cq: Format support scripts with black 2024-11-05 22:54:30 +01:00
po chore: Update translations 2025-04-16 23:43:33 +02:00
scripts other: Update update_flatpak_manifest script 2025-03-21 19:47:01 +01:00
test cfix: Start chat: Fix test 2025-04-13 21:18:38 +02:00
typings cq: Apply black formatting to tests and typings 2024-11-30 19:07:48 +01:00
win ci: Windows: Switch depcheck to GIRepository 3.0 2025-04-02 20:58:52 +02:00
.gitattributes Add .gitattributes 2020-10-19 20:12:40 +02:00
.gitignore Various layout and styling changes 2026-06-23 06:29:08 -04:00
.gitlab-ci.yml ci: Unittest: Add omemo-dr as dependency 2025-04-08 00:15:39 +02:00
.gitmodules other: Flatpak: Use shared modules from flathub 2022-03-28 00:17:00 +02:00
.pre-commit-config.yaml ci: Update ruff to 0.9.7 2025-02-23 14:07:45 +01:00
ChangeLog release: 2.1.1 2025-04-17 00:22:51 +02:00
CONTRIBUTING.md other: Update git hook 2023-05-27 13:58:45 +02:00
COPYING Revert "Add OpenSSL licese exception. Fixes #8999" 2018-03-28 19:24:47 +02:00
launch.py refactor: Add multiprocess module 2025-02-22 22:50:54 +01:00
make.py other: Make builds more reproducable 2025-02-07 22:13:12 +01:00
MANIFEST.in ci: Build: Separate build and install commands into subparsers 2024-09-14 15:11:53 +02:00
pyproject.toml change: Raise nbxmpp version 2025-04-16 23:43:33 +02:00
README.md change: Raise nbxmpp version 2025-04-16 23:43:33 +02:00
REUSE.toml other: Add REUSE config 2024-11-16 21:34:26 +01:00

[[TOC]]

Gajim

A fully-featured XMPP chat client.

Gajim aims to be an easy to use and fully-featured XMPP client. Just chat with your friends or family, easily share pictures and thoughts or discuss the news with your groups.

Requirements

Runtime Requirements

Optional Runtime Requirements

  • D-Bus running to have gajim-remote working
  • sentry-sdk for Sentry error reporting to dev.gajim.org (users decide whether to send reports or not)
  • libspelling and hunspell-LANG where lang is your locale eg. en, fr etc
  • libsecret for GNOME Keyring or KDE support as password storage
  • GUPnP-IGD for better NAT traversing
  • NetworkManager for network lose detection
  • GeoClue for sharing your location
  • GSound for sound on Linux

For Video and Audio Calls

For Voice Messages

Build Requirements

To build Gajim a PEP517 build frontend like pip (https://pip.pypa.io/en/stable/) or build (https://pypa-build.readthedocs.io/en/stable/) must be used.

The build frontend takes care of installing all python build requirements. Beware gettext is not a python library and cannot be installed by the build frontend.

Building

Building the metadata files and translation

$ ./make.py build -h

usage: make.py build [-h] [--dist {unix,flatpak,flatpak-nightly,win}]

Afterwards metadata files can be found in dist/metadata folder.

Building the wheel

This is only necessary if you need the wheel, otherwise you can skip to the Installing section.

Using build

python -m build -w

Using pip

pip wheel --no-deps --use-pep517 -w dist .

Installing

Installing with pip

pip install .

Installing the wheel

pip install dist/name_of_wheel.whl

Installing the metadata files (Unix only)

$ ./make.py install -h

usage: make.py install [-h] [--dist {unix,flatpak,flatpak-nightly}] [--prefix PREFIX]

options:
  -h, --help            show this help message and exit
  --dist {unix,flatpak,flatpak-nightly}
                        Distribution
  --prefix PREFIX       The path prefix for installation (e.g. "/usr")

Tests

  • python -m unittest discover -s test
  • python -m unittest ./test/gtk/gui_file.py (for testing GUI files)

Packages and install instructions

Packages

Flatpak

see README

Snapshots

Mac

see Wiki

Developing

To create a virtualenv you can execute

./scripts/dev_env.sh

Be sure all install requirements are available.

Afterwards activate the virtual environment with

source .venv/bin/activate
./launch.py

Windows

see README

Miscellaneous

Debugging

Execute gajim with --verbose

That is all, enjoy!

(C) 2003-2025 The Gajim Team https://gajim.org

We use original art and parts of sounds and other art from Psi, Gossip, Gnomebaker, Gaim and some icons from various gnome-icons (mostly Dropline Etiquette) we found at art.gnome.org. If you think we're violating a license please inform us. Thank you.