Skip to content

mad/emacs-juick-el

Repository files navigation

# WHAT IT

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;
  11. Bookmarks.

screenshot

HOW USE

Navigation

  • 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)

Geoloc

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.

Tune

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\")"

Note:

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.

Mood

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

Avatars

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"))

Bookmarks

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.

HOW INSTALL

Download the latest version:

git clone git://github.com/mad/emacs-juick-el.git

Add the following lines to your initialization file:

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

NOTE

This plugin tested on jabber-el 0.7.82 and above.

ATTENTION

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

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

KNOW ISSUE

  • 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.

About

extension for improvement reading juick@juick.com

Resources

Stars

Watchers

Forks

Packages

No packages published