
Recently, I started spending a lot of time in the
Emacs editor , because after some period of adaptation I realized that this is a very convenient thing. Of course, you can ask if they say that I may be a Linux fan-fanatic and in fact there is nothing convenient in Emacs. I will try to argue: is it uncomfortable when everything is at hand? All in one tool: a text editor, and a tool for planning (for example, your free time during the week), and an email client, and a tool for working with version control systems, such as CVS or SVN, and even a small, just a web browser (He certainly doesn’t always look at the big websites correctly, but it’s quite convenient to read the news on the ENT). In my opinion, this approach has the right to exist. Yes, and do not forget that Emacs has a built-in elisp programming language, which allows you to sharpen the environment for your specific needs or even develop your own embedded module and all this is also OpenSource! In this article, I want to introduce my readers to the Emacs jabber client called jabber.el.
So, I want to start with the fact that jabber.el is developed separately from emacs, so it is not included in the standard distribution, but it can be easily installed, for example, in Ubuntu, the installation is reduced to one line in the console:
sudo aptitude install emacs-jabberPersonally, it seems to me that in the repositories of various Linux distributions there is a rather old version of jabber.el, so I prefer to get a jabber client
from the git repository of Kirill Korinsky - one of the developers of jabber.el.
So, after installing jabber.el, you need to connect it in the Emacs configuration file, which is called (.emacs). We add the following line there:
(require 'jabber)After that, run emacs. So, we have indicated to emacs that it is necessary to load the jabber.el module at the start, now we need to set up a jabber account. In emacs, type:
Mx jabber-customizeafter that we get to the settings page of the connection with the jabber-server.

After setup, we can connect to the server using the command
Mx jabber-connectOr by pressing
C-x Cj Cc keys. Don't be scared, these huge keyboard shortcuts can naturally be made automatic, for example, you can connect to a jabber server when launching the editor, or you can assign this large keyboard shortcut to some convenient keyboard shortcut for example, let's assign a connection to a key, for this we add the following line to the Emacs config:
(global-set-key [f5] 'jabber-connect)After connecting, you can switch to the roster (list of contacts) using the command
Mx jabber-switch-to-roster-bufferOr keyboard shortcuts
Cx Cj CrAt the top of the roster is a short list of commands. For example, to enter a conference, you must press the
j key, and in order to start a dialogue with someone from your contacts, you need to move the cursor to it and press
Enter .
Another interesting action: let's say that we want to switch to the buffer, where we have unread messages, it’s enough to do this:
Mx jabber-activity-switch-toOr it is better to add this case to the config on the
Cx Ca hotkeys:
(global-set-key "\ Cx \ Ca" 'jabber-activity-switch-to)It would also be interesting to include spell checking in message buffers, for this we add the following line to the config:
(add-hook 'jabber-chat-mode-hook' flyspell-mode)I found it
hereAs you can see, an interesting emax mechanism is used here - hooks, i.e. launch of some specified functions upon the occurrence of some event (in our example, when switching to chat mode, and this mode is used in all jabber.el message windows, on-the-fly spelling is turned on).
In my short article I, of course, did not describe even a hundredth part of the possibilities of jabber.el, and even more so Emacs, I’m a newcomer to Emacs, like many others. I would like to note that many questions were helped to solve by people from the conference emacs@conference.jabber.ru and I am very grateful for that.
And in conclusion, I want to say that it is possible that such a jabber-client will seem inconvenient to a beginner, but believe me, after a few weeks of close contact with Emacs, you will look at it in a new way.