XMPP client
C++ JavaScript CMake QMake Shell HTML Other
Clone or download
Permalink
Failed to load latest commit information.
3rdparty Improved hunspell/qca/idn search for qmake based compilation Apr 4, 2018
admin Update admin script: merge_release_to_master.sh Mar 6, 2018
certs startcom has a new root cert Jun 18, 2008
cmake/modules Updated CMake files. Changed FindQca.cmake. Removed Qt4 support Feb 22, 2018
doc Doxygen update May 26, 2013
iconsets Replace xmpp icon with another one without text May 30, 2018
iris @ 602d552 iris relinked Jun 28, 2018
mac Retina displays support. closes #71 Aug 13, 2013
options Merge pull request #352 from dos1/compose-events-at-start Apr 5, 2018
qa Identation changed to spaces for build system Dec 28, 2017
qcm Use static libidn on Windows Apr 4, 2018
sound Tailorization Apr 8, 2007
src Tiny improvement in message about PsiMedia loading problem Aug 5, 2018
themes/chatview Always recreate jsutil to drop any persistent data from previous theme May 13, 2018
tools Added toolbars_state.rb for <toobars-state> troubleshooting purposes. Apr 6, 2008
win32 Update psi_win.rc.in Sep 13, 2017
.gitignore Update README and separate CHANELOG from it. Mar 6, 2018
.gitmodules fixed url to qhttp module Mar 6, 2018
.qmake.cache.in Use new qconf May 25, 2015
.qmake.conf qt5 fix Oct 28, 2014
CHANGELOG Update CHANGELOG Mar 20, 2018
CMakeLists.txt Updated CMake files. Added detection of win32 architecture for MSVC Apr 11, 2018
COPYING Fixed incorrect fsf address Apr 2, 2012
INSTALL Fix typo at prev commit Oct 5, 2017
README.html Update README.html Mar 16, 2018
README.md update justin email Mar 16, 2018
Readme-cmake-ru.txt Updated CMake files. Changed project cmake options. Added USE_WEBKIT … Jan 31, 2018
Readme-cmake.txt Updated CMake files. Changed project cmake options. Added USE_WEBKIT … Jan 31, 2018
Readme-dev-cmake-ru.txt Added Readme-dev-cmake-ru.txt - description of project cmake files Jan 25, 2018
TODO fied typo in defaults.xml Jan 13, 2018
client_icons.txt client_icons.txt: add Dino May 28, 2018
configure Use static libidn on Windows Apr 4, 2018
configure.exe Use static libidn on Windows Apr 4, 2018
iconsets.qrc Added an icon for xmpp service in useradd dialog to be consistent wit… May 10, 2018
l10n.pro clean up references to qca-static and conf_windows Aug 30, 2012
org.psi_im.Psi.json Adding Flatpak package manifest Apr 8, 2018
pluginsconf.pri.in No quotes for psi_features and check it via contains to set set defin… Jul 7, 2017
psi.appdata.xml Added AppData file Mar 26, 2016
psi.desktop Updated tranlations in desktop file Aug 5, 2018
psi.pro Improved hunspell/qca/idn search for qmake based compilation Apr 4, 2018
psi.qc Allow build with system http-parser(qmake based) Mar 6, 2018
psi.qrc Replace README.md with README.html in resource file Mar 7, 2018
version Update version to 1.3 Oct 5, 2017

README.md

Psi IM – Qt-based XMPP client

Stable version: 1.3
Release date: September 25th, 2017

Website: https://psi-im.org/
Sources: https://github.com/psi-im

License

This program is licensed under the GNU General Public License. See the COPYING file for more information.

Description

Psi IM is a capable XMPP client aimed at experienced users. Its design goals are simplicity and stability. Psi IM is highly portable and runs on MS Windows, GNU/Linux and macOS.

Psi IM is minimal but powerful. There are keybindings for just about everything, Unicode is supported throughout, and contacts are cached offline. Security is also a major consideration, and Psi IM provides it for both client-to-server (TLS) and client-to-client (GnuPG, OTR, OMEMO).

WebKit version of Psi IM has few additional features (in comparing with basic version of Psi): support of animated emoticons, support of (adium) themes in private chats and group chats, support of previewing of images and videos in private chats and group chats, etc. But if you prefer old fashioned plain text chats from era of IRC heyday, then basic version of Psi IM is your obvious choice.

WebEngine version of Psi IM is identical to WebKit version of Psi IM in supporting of extra features, but it has some pros and cons:

  • Better work with embedded video (in chats) in MS Windows.
  • Worse integration to system. (It does not use system theme in GNU/Linux.)
  • Support less amount of compilers, systems and CPU architectures.
  • Stability issues in macOS.

Versions history

See CHANGELOG file.

Installation

See INSTALL file.

Development

In 2009 a Psi IM fork named Psi+ was started. Project purposes are: implementation of new features, writing of patches and plugins for transferring them to upstream. As of 2017 all active Psi+ developers have become official Psi IM developers, but Psi+ still has a number of unique features. From developers point of view Psi+ is just a development branch of Psi IM which is hosted at separate git repositories and for which rolling release development model is used.

Currently the development model looks like this:

  • Psi IM versions should look like: X.Y (where X and Y are not digits but numbers).
  • Psi+ versions should look like: X.Y.Z (where X, Y and Z are not digits but numbers).
  • All development of Psi IM (bug fixes, new features from Psi+ project) are done in master branch of psi repository and its submodules. Each commit to it increases Z part of Psi+ version to one.
  • At some point of time new release branch is detouched from master branch (for example, release-1.x, release-2.x, etc.). All new releases (git tags) will be done in it. Necessary changes from master branch to stable branches should be cherry-picked or moved manually. Do not forget to merge release branch into master after adding of new git tags.
  • All new features are come into master branch of main Psi+ repo. Each commit increases Z part of Psi+ version to one. Sometime later they will be moved to Psi. It may require different amount of time.
  • All patches in main Psi+ repo should be prepared against master branch of psi repo.
  • After each new release of Psi IM new git tag with the same version should be created in main Psi+ repo.
  • Psi IM plugins are developed separately. Plugin API in master branches of psi and plugin repos should be in sync.
  • All translations are prepared for master branch of Psi+ and are (semi-automatically) adapted for Psi.

Developers

Lead developers

Other contributors

There are a lot of people who were involved into Psi IM and Psi+ development. Some of them are listed in license headers in source files, some of them might be found only in the history of commits in our git repositories. Also there are translators, makers of graphics and just active users. We are thankful to all them.

How you can help

Bug reports

If you found a bug please report about it in our Bug Tracker. If you have doubts contact with us in XMPP Conference <psi-dev@conference.jabber.ru> (preferable) or in a Mailing List.

Beta testing

As we (intentionally) do not have nor beta versions of Psi, nor daily build builds for it, you are invited to use Psi+ program for suggesting and testing of new features, and for reporting about new bugs (if they happen).

Comments and wishes

We like constructive comments and wishes to functions of program. You may contact with us in XMPP Conference <psi-dev@conference.jabber.ru> for discussing of your ideas. Some of them will be drawn up as feature requests in our Bug Tracker.

Translations

The work of translators is quite routine and boring. People who do it usually lose interests and their translations become incomplete. If you see such situation for translation to your native language, please join to our translations team. It is extremely welcome!

Graphics

There are many ways to contribute to the Psi IM project, if you think you can do a better job with any of the Psi IM graphics, then go right ahead!

Programming

Patches are welcome! Contact to Psi+ team if you are working on them.

Packaging

If you want to prepare personal builds of Psi IM and/or Psi+ for MS Windows and macOS systems, it is very welcome! We may distribute them via our official projects on SouceForge.net: psi, psiplus. Becoming an official maintaner for these systems is more complicated, but also possible.

For GNU/Linux and *BSD systems the situation is quite clear: just update packages (pkgbuilds, ebuild, etc.) in official repositories of your favorite distributions or make a Personal Package Archive (PPA) with them. We will add links to it into our documentation.

Donations

If you want to donate some money for development of Psi IM and Psi+ project, it is possible. See related info at official websites. Thanks!

Extra links

Have fun!