Skip to content
extension for improvement reading
Emacs Lisp
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



This plugin add next features:

  1. colored id/username/tag;
  2. clickable id/username/tag:
    1. If press RET on id/username, then will been added in reply buffer;
    2. If press RET on tags, then printed last 10 message with tag;
    3. If press s/u on id/username, then you will been subscribed/unsubscribed on user/message;
    4. If press p on username, then will been added in reply buffer text type PM @username;
  3. Geoloc (through PEP or message);
  4. Tune (through PEP or message);
  5. Mood (through message);
  6. Upload images through IBB (IBB implement only one way - UPLOAD, DONT RECIEVE);
  7. Show avatars;
  8. Check bot commands, e.g. РУДЗ -> HELP, № -> # (usefull for russian users);
  9. Subscribing on the tags;
  10. Auto subscribing on tag or username;




  • To move on message, you can use M-e, M-a (default emacs keybindings);
  • g - on username or message id, open browser with;

Once you have replied to the message, ie click on the RET id, you can press C-u C-SPACE (default emacs combination to navigate local labels) and move to the position where you are (usefull when it comes a lot of messages and as reading to answer them)


Specify the geolocation data may be one of the ways:

  1. Through PEP

What would send a message to the PEP geolocation data, press C-cjp (or call jabber-pep-location-send) further define the area (eg, "St. Petersburg"), after what will be an attempt to find the coordinates of this place through google maps, and sent to the server.

  1. In a message if jabber server does not support the PEP, a report on geolocation data can be directly in the message. Once you've typed the message, press C-cjg (or jabber-pep-location-send), geolocation data indicate both same as in the previous case.


If you use emms, tune it to send messages, you can use the following code:

(add-hook 'emms-player-started-hook
      '(lambda ()
         (let* ((emms-current-track (emms-playlist-current-selected-track)))
           (run-with-timer 10 nil 'jabber-pep-tune-send
                           (emms-track-get emms-current-track 'info-artist)
                           (number-to-string (or (emms-track-get emms-current-track 'info-playing-time) 0))
                           "0" ;;; use rating ?
                           (emms-track-get emms-current-track 'info-album)
                           (emms-track-get emms-current-track 'info-title)
                           (emms-track-get emms-current-track 'info-tracknumber)

If you use any other player it is necessary to obtain data on artist (via dbus etc) and use the command:

emacsclient --eval "(jabber-pep-tune-send \"artist\" \"length\" \"rating\"
\"source\" \"title\" \"track\" \"uri\")"

or (if the server does not support PEP):

emacsclient --eval "(jabber-event-tune-send juick-bot-jid \"artist\" \"length\" \"rating\"
\"source\" \"title\" \"track\" \"uri\")"


If the server does not support the PEP in the case of emms is used jabber-event-tune-send (function includes an additional parameter - jid user who will receive this event, ie jid-juick-bot.


Before post message, press the Mx jabber-mood-message select mood, and then RET, now this message will be sent to the appropriate mood, the next message will be sent without a mood.

Send images

To send pictures using the standard function of jabber-el -- jabber-ft-send


For display avatars responsible variable juick-icon-mode, if it is value t, then they are displayed, if nil - not (default t).

Size avatars regulated by variable juick-icon-hight, if it is set to t, to used size 96x96, if nil used 32x32 pixels (for default nil).

By default avatars stored in / tmp/juick-images- <user name> /, is responsible for this variable is juick-tmp-dir.

Subscribe on the tags

In order to subscribe to a tag, you need to add it to the list juick-tag-subscribed, for example like this:

(setq juick-tag-subscribed '("linux" "juick"))

and activate auto update:

(juick-auto-update t)

To automatically subscribe to the message (S # NNNNN) with certain tags, or name (S @ ABC) users, use the list juick-auto-subscribe-list, for example:

(setq juick-auto-subscribe-list '("linux" "juick" "ugnich"))


What would make the user or a message to your bookmarks - put the cursor on message/username and press b.

View bookmarks - C-cjb;

Delete bookmark - C-k, d (in the bookmarks list);

By default, bookmarks are stored in ~ / .emacs.d / .juick-bkm, is responsible for this variable juick-bookmark-file.


Download the latest version:

git clone git://

Add the following lines to your initialization file:

(add-to-list 'load-path "path/to/juick-el/")
(require 'juick)


This plugin tested on jabber-el 0.7.82 and above.


C jabber-el 0.7.1 and below the plugin does not work!

If not worked RET on comment and message ID see: #854650


  • When sending a large image a "hang" emacs, due to the fact that IBB protocol is implemented in such a way that send image no asynchronously.

  • Can not send some files (usually images), see #222870;

Request for bugs/features/etc write here #104079 or mail.

You can’t perform that action at this time.