https://github.com/gkdr/carbons
Experimental XEP-0280: Message Carbons plugin for libpurple (Pidgin, Finch, etc.)
https://github.com/gkdr/carbons
carbons finch jabber libpurple pidgin plugin xep-0280 xmpp
Last synced: about 1 year ago
JSON representation
Experimental XEP-0280: Message Carbons plugin for libpurple (Pidgin, Finch, etc.)
- Host: GitHub
- URL: https://github.com/gkdr/carbons
- Owner: gkdr
- License: gpl-2.0
- Created: 2017-02-15T16:29:49.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-09-02T00:32:59.000Z (over 1 year ago)
- Last Synced: 2025-02-23T22:14:15.805Z (about 1 year ago)
- Topics: carbons, finch, jabber, libpurple, pidgin, plugin, xep-0280, xmpp
- Language: C
- Homepage:
- Size: 124 KB
- Stars: 83
- Watchers: 17
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# carbons 0.2.3
[](https://ci.appveyor.com/project/gkdr/carbons/branch/dev)
[](https://codecov.io/gh/gkdr/carbons)
[](https://lgtm.com/projects/g/gkdr/carbons/context:cpp)
Experimental [XEP-0280: Message Carbons](https://xmpp.org/extensions/xep-0280.html) (v0.13.2) plugin for libpurple (Pidgin, Finch, etc.).
It enables you to have a consistent view of both sent and received messages between all devices which are online at the same time.
## Installation
You can find compiled versions of this plugin for both Linux and Windows on [the GitHub releases page](https://github.com/gkdr/carbons/releases).
To get the latest build for both operating systems you can head over to [the artifacts page of this project's current build on AppVeyor](https://ci.appveyor.com/project/gkdr/carbons/build/artifacts).
## Usage
On startup, it sends a feature discovery request to the server and automatically enables message carbons if the server lists it among its supported features.
If something is not working right, consult the debug window.
## Building it yourself
### Linux
1. Install the dependencies (`libpurple-dev`, `libglib2.0-dev`, `libxml2-dev`)
2. `git clone https://github.com/gkdr/carbons.git`
3. `cd carbons`
4. `make`
5. A final `make install` should copy the plugin into your libpurple plugin dir, or `make install-home` to copy it into `~/.purple/plugins`.
### MacOS
Install dependencies using Homebrew.
```
brew install glib libxml2
```
Get a copy of the libpurple soure (from Pidgin), and prepare it so we can use it
during the build.
```
hg clone https://bitbucket.org/pidgin/main pidgin
cd pidgin
hg checkout v2.10.12
./configure $(./configure --help | grep -i -- --disable | awk '{ print $1 }')
```
```
make LIBPURPLE_CFLAGS=-I${PWD}/pidgin/libpurple LIBPURPLE_LDFLAGS=/Applications/Adium.app/Contents/Frameworks/libpurple.framework/libpurple LJABBER=
```
### Windows
You can make use of the `Makefile.mingw` by EionRobb.
For this, you have to set up a build environment as described in https://developer.pidgin.im/wiki/BuildingWinPidgin.
## Caveats
Note that this only synchronizes messages of devices that are online at the same time - for history synchronization, MAM is needed.
There is currently no libpurple plugin for this.