Hello,
Gajim has a rather good XMPP support, but I'd prefer a different UI (particularly that of Emacs; the clients available from it have worse XMPP support).
Gajim's D-Bus interface would be handy for that, but apparently some of the important events (e.g., [decrypted-]message-received) are not included into the interface. Seems like one can write a plugin to provide those (since those are exposed to plugins), but since many events are already provided by the core, maybe those (and perhaps a few more) should be exposed by it too, unless there are security concerns or other reasons not to.
If that will be implemented, it may also be desirable to run Gajim "headless", so that it would be usable (even if somewhat restricted) in environments without X.
Would those be desirable changes, or should I focus on a plugin, or perhaps there are other ways to achieve it?
Hello,
Why you dont download one of the various xmpp libs and write a GUI around it?
Instead of doing the work to make Gajim headless and then write a GUI around it?
Regards Lovetox
Von: defanor Gesendet: Dienstag, 10. April 2018 16:32 An: gajim-devel@gajim.org Betreff: [Gajim-devel] Alternative UI support
Hello,
Gajim has a rather good XMPP support, but I'd prefer a different UI (particularly that of Emacs; the clients available from it have worse XMPP support).
Gajim's D-Bus interface would be handy for that, but apparently some of the important events (e.g., [decrypted-]message-received) are not included into the interface. Seems like one can write a plugin to provide those (since those are exposed to plugins), but since many events are already provided by the core, maybe those (and perhaps a few more) should be exposed by it too, unless there are security concerns or other reasons not to.
If that will be implemented, it may also be desirable to run Gajim "headless", so that it would be usable (even if somewhat restricted) in environments without X.
Would those be desirable changes, or should I focus on a plugin, or perhaps there are other ways to achieve it? _______________________________________________ Gajim-devel mailing list Gajim-devel@gajim.org https://lists.gajim.org/cgi-bin/listinfo/gajim-devel
Why you dont download one of the various xmpp libs and write a GUI around it?
Instead of doing the work to make Gajim headless and then write a GUI around it?
Initially I thought of that, and haven't found libraries with comprehensive XEPs support in a few languages that would be handy to reuse from C or via C FFIs (aiming using those directly, as libraries), but since considering a D-Bus interface (and external processes) now, those language restrictions indeed no longer apply, and there are seemingly good libraries that can be used for that.
So yes, my bad: perhaps it wouldn't make much sense to do it with Gajim.
Hi,
First, which version are you using? We are doing a lot of work on a new design. 1.0 version is the start for that, much more is coming.
Now I'm not sure to understand what you want to do exactly. If you want to write acompletly new UI (in curses or QT or whatever) then that should be possible. "Just" replace all files in src by the ui design you want. common folder is independant of GUI.
Explain a bit more what you want to change in the UI, we can be more precise.
First, which version are you using? We are doing a lot of work on a new design. 1.0 version is the start for that, much more is coming.
Currently I'm using 0.16.8, but saw that there's version 1.0 already, and it'd be fine to aim just that.
Now I'm not sure to understand what you want to do exactly. If you want to write acompletly new UI (in curses or QT or whatever) then that should be possible. "Just" replace all files in src by the ui design you want. common folder is independant of GUI.
Explain a bit more what you want to change in the UI, we can be more precise.
I thought of using D-Bus to reuse Gajim functionality from Emacs, implementing the UI itself inside of Emacs (so that all the Emacs text editing and navigation commands and packages would be available). Seems like it would be rather easy, at least to get basic functionality, if there were a few additional D-Bus events available; that wouldn't involve rewriting/replacing UI bits in Gajim itself. Somewhat similar in approach to https://github.com/the-kenny/weechat.el.
But as forenjunkie suggested, perhaps it indeed would be easier to pick some library, make a basic client providing D-Bus interface and no UI, and then proceed with that external UI.
But as forenjunkie suggested, perhaps it indeed would be easier to pick some library, make a basic client providing D-Bus interface and no UI, and then proceed with that external UI.
On the other hand, using Gajim would still provide some advantages over the libraries that I've checked so far: those don't provide additional features such as encryption, and Gajim GUI would be used to have at hand for more advanced features than just a chat (i.e., chatting from Emacs, but using service discovery and such from Gajim).
AIUI, currently Gajim allows external programs (including gajim-remote) to send messages, but allowing them to read incoming messages as well would enable use cases like this.