Commits (13037)

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

syntax: glob
syntax: regexp
- sudo apt-get update -qq && sudo apt-get install -y -qq libtool pkg-config gir1.2-gtk-3.0 gir1.2-soup-2.4 python3-gi python3-cairo
- sudo apt-get build-dep -y -qq gajim-default-nightly
- test
- build
stage: test
- rm -rf civenv-master
- virtualenv -p python3 --system-site-packages civenv
- . ./civenv/bin/activate
- pip3 install -I mypy
- pip3 install -I git+https://dev.gajim.org/gajim/python-nbxmpp.git@master
- pip3 install -I pylint==2.4.4
- pip3 install -I codespell
- mypy -V
- mypy gajim
- scripts/dev/pylint-ci.sh --jobs=2 gajim
- python3 -m unittest discover -s test/no_gui -v
- codespell -I codespell.conf --skip="*__pycache__*,gajim/data/icons,gajim/data/sounds,gajim/data/emoticons" gajim
- deactivate
- rm -rf civenv-master
stage: test
- appstream-util validate data/org.gajim.Gajim.appdata.xml.in
stage: build
- python3 setup.py sdist
- cd dist
- GF=$(basename gajim-* .tar.gz)
- gzip -d $GF.tar.gz
- mkdir -p $GF/gajim/data/plugins/
- curl -O https://ftp.gajim.org/plugins_1/plugin_installer.zip
- unzip plugin_installer.zip -d $GF/gajim/data/plugins/
- rm plugin_installer.zip
- tar -uf $GF.tar $GF
- gzip $GF.tar
expire_in: 1 week
- dist/gajim-*.tar.gz
**Please first check if another issue has been opened for your problem**
## Versions
- OS:
- Gajim version:
- GTK version:
- Python-nbxmpp version:
## Steps to reproduce the problem
## Expected behavior
## Actual behavior
**Please note by far the quickest way to get a new feature is to file a Merge Request.**
## Description of the new feature
Yann Le Boulanger (asterix AT lagaule.org)
Nikos Kouremenos (kourem AT gmail.com)
Dimitur Kirov (dkirov AT gmail.com)
Travis Shirk (travis AT pobox.com)
Vincent Hanquez (tab AT snarc.org)
If you want to create a fork and use an external account (Github, Google) drop us a message at the Gajim support [group chat](xmpp:gajim@conference.gajim.org?join) so we can give you the necessary rights
- master - Development branch
- gajim_1.1 - Stable Gajim 1.1.x branch
- gajim_1.0 - Stable Gajim 1.0.x branch
- gajim_0.16 - Stable Gajim 0.16.x branch
If you are not familiar with Git please read the [HowTo](https://dev.gajim.org/gajim/gajim/wikis/development/howtogit)
A good article regarding [good commit messages](https://chris.beams.io/posts/git-commit/)
This diff is collapsed.
This diff is collapsed.
Gajim 0.8.2 (06 Sep 2005)
* Fix so Gajim runs in pygtk2.8.x
* Gajim can use pydns too (apart from dnspython) to do SRV lookup
* Other minor fixes
Gajim 0.8.1 (02 Sep 2005)
* Systray icon for windows
* Gajim is available in Dutch
* Gajim can use gpg-agent
Gajim 0.8 (18 Aug 2005)
* Avatars (JEP-0153)
* Chat state notifications aka. typing notification (JEP-0085)
* Bookmark storage (JEP-0048)
* File Transfer (JEP-0096)
* Major changes to adhere to GNOME HIG
* Complete vcard fields support
* New and better user interface for chat and groupchat windows
* SRV capabilities and custom hostname/port
* Many improvements in group chat and IRC emulation (eg. nick autocompletation and cycling)
* Gajim can now send and receive single messages
* New iconsets and new dialog for customizing the user interface
* Mouseover information for contacts in the roster window (aka tooltips)
* DBus Capabilities. Now Gajim can be remote controlled
* Authenticating HTTP Requests via XMPP (JEP-0070)
* Now you can lookup a word in Wikipedia, dictionary or in search engine
* XML Console
* Gajim is now also available in norwegian and czech language
Gajim 0.7.1 (5 Jun 2005)
* Transports icon as an option and error/mesage icon for transports
* Gajim is more HIG compatible
* Editing registration information on transports
* Messages stanza without <body> element are not printed
* SASL bugfix
* GtkSpell capabilities
* Support SSL (legacy) connection
* Assign gpg key to specific contact
* Contacts are sortable by status
* Gajim remembers last lines when reopening chat
* New translations available: German, Russian, Spanish, Bulgarian
Gajim 0.7 (23 May 2005)
* Ability for groupchat reserved rooms with full affiliations and roles support
* Popup notification for incoming events
* Protocol icons for contacts from transports
* Gajim's user interface is now more HIG compliant
* Gajim now detects and can send operating system information
* Gajim now can inform the user about new version availability
* Gajim jabber library migration from jabberpy to xmpppy
* Rewrite the plugin system to remove threads and improve latency
* Gajim now supports Nodes in Service Discovery
* Greek and Polish translations
Gajim 0.6.1 (03 April 2005)
* Rewrite of service discovery. It doesn't freeze Gajim anymore.
* More HIG Compliant.
* Gajim is faster (do not redraw preferences_window each time we open it, use
of psyco if available)
Gajim 0.6 (23 March 2005)
* Gajim's user interface is now nicer.
* Groupchat just got better.
* URL, mailto and ascii formatin (* / _) detection
* Better transports detection, group management, and many minor additions/bugfixes
Gajim 0.5.1 (27 February 2005)
* Minor bugfixes.
Gajim 0.5 (26 February 2005)
* Possibility to use tabbed chat window
* Sound support under GNU/linux
* Autoaway available under Microsoft Windows
Gajim 0.4.1 (23 January 2005)
* Bugfix in config file parser (fix config file parser to handle emoticons)
* Bugfix with GPG signatures
Gajim 0.4 (21 January 2005)
* New option: regroup accounts
* Emoticons support with a binder
* GUI improvements
* Bugfixes
Gajim 0.3 (18 December 2004)
* GUI improvements
* group chat support with MUC (JEP 45)
* New agent browser (JEP 30)
* GnuPG support
* Autoconnect at startup
* New socket plugin
Gajim 0.2.1 (1 July 2004)
* bugfixes : when configfile is incomplete
* icon in systray with popup menu (for linux)
* "auto away even if not online" option
* always show contacts with unread messages
* new imageCellRenderer to show animated gifs
* allow agents unregistration
Gajim 0.2 (8 June 2004)
* bugfix for french translation
* multi-resource support
* auto away support (for linux)
* invisible support
* priority support
Gajim 0.1 (21 May 2004)
* Initial release.
Gajim 0.9 (XX December 2005)
* Avatars and status messages in roster window
* Improved service discovery window
* Emoticons selector, Cooler Popup Windows (notification-daemon). Read more information in case you did not notice something different in http://trac.gajim.org/wiki/GajimDBus#notif_daemon
* Caching of Avatars, Less UI freezing
* New Account creation wizard
* Better History Window with searching capabilities
* Gajim now tries to reconnect to a jabber server if connection is lost
* Queue for all events (File Transfer, private messages, etc)
* A lot of new irc-like commands in group chat. Do for example /help invite
* X11 Session Management support
* Gajim registers and handles xmpp: and xmpp:// (GNOME/gconfd only)
* Use pysqlite for conversation history. Automigration for old logs
* New translations: Italian, Swedish, Slovak, Basque
include COPYING
recursive-include po *.po
recursive-include data *.1 *.in
recursive-include test *.py
recursive-exclude * *.pyc
VERSION ?= 0.9
GAJIM_AP = 0 # do we build Autopackage?
MODULES = src src/common po
PREFIX = /usr/local
LIBDIR = /lib
export LIBDIR
MANDIR = $(DESTDIR)$(PREFIX)/share/man
FIND = find . \( -name '*.glade' -o -name '*.py' -o -name '*.xpm' -o -name '*.gif' -o -name '*.png' -o -name '*.wav' -o -name '*.xml' \)
DIRS = `$(FIND) -exec dirname {} \; | sort -u`
FIND_PO = find ./po \( -name '*.mo' \)
FILES_PO = `$(FIND_PO) | sed -e 's/^\.\/po/\./g'`
DIRS_PO = `$(FIND_PO) -exec dirname {} \; | sort -u | sed -e 's/^\.\/po/\./g'`
FIND_LIB = find . -name '*.so'
scripts/gajim \
scripts/gajim-remote \
all: translation trayicon gtkspell idle gajim.desktop
${MAKE} -C po all
${MAKE} -C src trayicon.so;
${MAKE} -C src gtkspell.so;
${MAKE} -C src/common all;
find . -name '*.pyc' -exec rm {} \;
find . -name '*.pyo' -exec rm {} \;
find . -name '*.mo' -exec rm {} \;
rm -f gajim.desktop \;
$(foreach sdir, $(MODULES), ${MAKE} -C $(sdir) clean;)
rm -rf gajim-$(VERSION)
mkdir gajim-$(VERSION)
cp -r data src po gajim-$(VERSION)/
cp AUTHORS gajim.1 gajim-remote.1 gajim.desktop.in COPYING THANKS Makefile Changelog README launch.sh gajim-$(VERSION)
mkdir gajim-$(VERSION)/scripts
for s in $(SCRIPTS) ; do \
cp $$s gajim-$(VERSION)/scripts/; \
find gajim-$(VERSION) -name '.svn' -type d | xargs rm -rf
find gajim-$(VERSION) -name '*.pyc' -exec rm {} \;
find gajim-$(VERSION) -name '*.pyo' -exec rm {} \;
find gajim-$(VERSION) -name '.*' -exec rm {} \;
@echo tarring gajim-$(VERSION) ...
@tar czf gajim-$(VERSION).tar.gz gajim-$(VERSION)/
@tar cjf gajim-$(VERSION).tar.bz2 gajim-$(VERSION)/
rm -rf gajim-$(VERSION)
# Remove the old po folder if it exists
if [ -d $(DESTDIR)$(PREFIX)/share/gajim/po ] ; then \
rm -rf $(DESTDIR)$(PREFIX)/share/gajim/po; \
for d in $(DIRS) ; do \
if [ ! -d $(DESTDIR)$(PREFIX)/share/gajim/$$d ] ; then \
mkdir -p "$(DESTDIR)$(PREFIX)/share/gajim/$$d"; \
fi; \
for f in $(FILES) ; do \
DST=`dirname "$$f"`; \
cp "$$f" "$(DESTDIR)$(PREFIX)/share/gajim/$$DST/"; \
rm "$(DESTDIR)$(PREFIX)/share/gajim/src/systraywin32.py"
for d in $(DIRS_PO) ; do \
if [ ! -d $(DESTDIR)$(PREFIX)/share/locale/$$d ] ; then \
mkdir -p "$(DESTDIR)$(PREFIX)/share/locale/$$d"; \
fi; \
for f in $(FILES_PO) ; do \
DST=`dirname "$$f"`; \
cp "./po/$$f" "$(DESTDIR)$(PREFIX)/share/locale/$$DST/"; \
cp COPYING "$(DESTDIR)$(PREFIX)/share/gajim/";
cp THANKS "$(DESTDIR)$(PREFIX)/share/gajim/";
mkdir -p "$(DESTDIR)$(PREFIX)/share/pixmaps";
cp data/pixmaps/gajim.png "$(DESTDIR)$(PREFIX)/share/pixmaps/";
cp data/pixmaps/gajim_about.png "$(DESTDIR)$(PREFIX)/share/pixmaps/";
mkdir -p "$(DESTDIR)$(PREFIX)/share/applications";
cp gajim.desktop "$(DESTDIR)$(PREFIX)/share/applications/";
mkdir -p "$(MANDIR)/man1";
cp gajim.1 "$(MANDIR)/man1";
cp gajim-remote.1 "$(MANDIR)/man1";
mkdir -p "$(DESTDIR)$(PREFIX)$(LIBDIR)/gajim";
for f in $(FILES_LIB) ; do \
cp "$$f" "$(DESTDIR)$(PREFIX)$(LIBDIR)/gajim/"; \
mkdir -p "$(DESTDIR)$(PREFIX)/bin";
for s in $(SCRIPTS) ; do \
BASE=`basename "$$s"`; \
if [ $(GAJIM_AP) -ne 0 ] ; then \
F=`cat "$$s" | sed -e 's!LIB!$(LIBDIR)!g'`; \
else \
F=`cat "$$s" | sed -e 's!PREFIX!$(PREFIX)!g' -e 's!LIB!$(LIBDIR)!g'`; \
fi; \
echo "$$F" > "$(DESTDIR)$(PREFIX)/bin/$$BASE"; \
chmod +x "$(DESTDIR)$(PREFIX)/bin/$$BASE"; \
gajim.desktop: gajim.desktop.in
intltool-merge -d po gajim.desktop.in gajim.desktop
# show make params we accept
@echo Usage:
@echo make - builds all modules
@echo make clean - delete built modules and object files
@echo make install - install binaries into the official directories
@echo make uninstall - uninstall binaries from the official directories
@echo make help - prints this help
@echo make trayicon - makes only trayicon module
@echo make idle - makes only idle detection module
@echo make translation - makes only translation \(mo files\)
@echo make gtkspell - makes only gtkspell detection module
@echo make tags - makes 'tags' file for use with ctags
# uninstall application from official directories
rm -rf "$(DESTDIR)$(PREFIX)/share/gajim" # the main files are here
rm -rf "$(DESTDIR)$(PREFIX)/lib/gajim" # the .so files are here
rm -f "$(DESTDIR)$(PREFIX)/bin/gajim" # the bash script
rm -f "$(DESTDIR)$(PREFIX)/bin/gajim-remote" # remote-control script
rm -f "$(MANDIR)/man1/gajim.1" # the man page
rm -f "$(MANDIR)/man1/gajim-remote.1" # the man page
rm -f "$(DESTDIR)$(PREFIX)/share/pixmaps/gajim.png" # the icon
rm -f "$(DESTDIR)$(PREFIX)/share/pixmaps/gajim_about.png" # the icon
rm -f "$(DESTDIR)$(PREFIX)/share/applications/gajim.desktop" #the desktop
find "$(DESTDIR)$(PREFIX)/share/locale" -name 'gajim.mo' -exec rm {} \; #the .mo files
@echo done uninstalling
-rm tags
exuberant-ctags -R
.PHONY: all translation trayicon gtkspell idle clean dist install help\
uninstall tags
Welcome and thanks for trying out Gajim.