Go to file
2021-07-01 23:08:12 +01:00
.dir-locals.el efforts 2021-06-26 04:00:33 +01:00
.envrc buffers! hooray. 2021-06-30 07:26:06 +01:00
.gitattributes Implement emoji exact search functions 2018-05-11 22:41:15 +01:00
.gitignore add envrc 2021-06-25 23:42:49 +01:00
.gitmodules drop json-c 2021-06-28 02:20:43 +01:00
.travis.yml Clang doesn't like our gnu extensions despite -std=gnu99 2018-05-12 18:32:35 +01:00
account.c hacky colours 2021-07-01 23:08:12 +01:00
account.h channels for pm 2021-06-30 09:54:59 +01:00
buffer.c handle /me 2021-07-01 03:07:18 +01:00
buffer.h handle /me 2021-07-01 03:07:18 +01:00
channel.c hacky colours 2021-07-01 23:08:12 +01:00
channel.h handle /me 2021-07-01 03:07:18 +01:00
command.c hacky colours 2021-07-01 23:08:12 +01:00
command.h buffers! hooray. 2021-06-30 07:26:06 +01:00
config.c channels for pm 2021-06-30 09:54:59 +01:00
config.h buffers! hooray. 2021-06-30 07:26:06 +01:00
connection.c hacky colours 2021-07-01 23:08:12 +01:00
connection.h channels for pm 2021-06-30 09:54:59 +01:00
input.c handle /me 2021-07-01 03:07:18 +01:00
input.h buffers! hooray. 2021-06-30 07:26:06 +01:00
LICENSE Initial commit 2018-04-29 11:40:16 +01:00
Makefile merry MUCmas 2021-07-01 21:43:39 +01:00
message.c buffers! hooray. 2021-06-30 07:26:06 +01:00
message.h buffers! hooray. 2021-06-30 07:26:06 +01:00
plugin.c channels for pm 2021-06-30 09:54:59 +01:00
plugin.h bump readme 2021-07-01 00:29:14 +01:00
README.org merry MUCmas 2021-07-01 21:43:39 +01:00
user.c hacky colours 2021-07-01 23:08:12 +01:00
user.h hacky colours 2021-07-01 23:08:12 +01:00

weechat-xmpp

file:https://api.travis-ci.org/bqv/weechat-xmpp.svg?branch=master file:https://coveralls.io/repos/github/bqv/weechat-xmpp/badge.svg?branch=master https://img.shields.io/github/issues/bqv/weechat-xmpp.svg https://img.shields.io/github/issues-closed/bqv/weechat-xmpp.svg https://img.shields.io/github/license/bqv/weechat-xmpp.svg https://img.shields.io/badge/weechat--extras-xmpp-blue.svg

Status: XMPP for power users and digital masochists
Location: http://github.com/bqv/weechat-xmpp
Version: 0.1.1
Disclaimer: I'm lazy and unashamedly clinically insane

Description

A weechat plugin in C to extend the chat client to support XMPP and a currently minimal but ideally maximal set of XEPs.

Usage

  1. Start with /xmpp add, use /help xmpp for instructions.
  2. Use /xmpp connect <account-name> with the name set at add-time.

Installing

Place xmpp.so in the appropriate place for weechat plugins.

Dependencies

  • libstrophe (dynamic, dependency)
  • libxml2 (dynamic, dependency)
  • weechat (>= v2.5)

Building

git clone git://github.com/bqv/weechat-xmpp.git
cd weechat-xmpp
make
make install

Do NOT run make install as root, it installs the plugin to your local weechat plugins directory

Development

I use emacs for development of this, although I am also a fan of vim. My debug build process involves static analysis with clang and cppcheck, and dynamic analysis with address-sanitizer and leak-sanitizer. My debug evaluation process involves gdb/mi run with the arguments -ex "handle SIGPIPE nostop noprint pass" --args weechat -a 2>asan.log since part of weechat and it's default plugins use SIGPIPE as control.

I have no real requests for style of pull requests besides a wish that you keep vaguely to the style I have adopted for this project.

Happy coding!

Tasks

DONE [A] Implement basic functionality (milestone v0.1)

  • Connecting
  • Pretty-printing stanzas
  • Receiveing and formatting PMs to a dedicated buffer
  • Responding to PMs and formatting responses
  • Opening PMs (/chat)

TODO [A] Implement essential functionality (milestone v0.2)

  • Opening PMs with initial message
  • Handle wide errors gracefully
  • MUCs

    • Opening (/enter)
    • Receiving
    • Sending
    • [#B] Handle errors gracefully
    • [#B] Presence/nicklist
    • [#B] Show topic
    • [#B] Edits
  • OMEMO presence
  • OMEMO messages
  • MUC PMs
  • Send typing notifications
  • Recv typing notifications

TODO [C] Implement completion engine (milestone v0.3)

TODO [#D] Close all issues (milestone v1.0)

Contributing

Your contributions are always welcome! Please submit a pull request or create an issue to add a new or missing feature.

License

weechat-xmpp is licensed under the Mozilla Public License Version 2.0 available here and in LICENSE.