Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет salas ([info]salas)
@ 2011-06-09 19:42:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:emacs, БНОПНЯ, хозяйке на заметку

Emacs URI handler for recent GNOME.
~/.emacs:

(defun emacs-uri-handler (uri)
  "Handles emacs URIs in the form: emacs:///path/to/file#LINENUM"
  (let ((uri-struct (url-generic-parse-url (save-match-data (if (string-match "^'\\(.*\\)'$" uri) (match-string 1 uri) uri)))))
    (select-frame-set-input-focus (selected-frame))
    (find-file (decode-coding-string
		(apply 'unibyte-string
		       (string-to-list (url-unhex-string (url-filename uri-struct))))
		'utf-8))
    (let ((line (url-target uri-struct)))
      (if line (goto-line (string-to-number line))))))

~/.local/share/applications/emacsclient.desktop:
[Desktop Entry]
Name=emacs url handler
Exec=/usr/bin/emacsclient --no-wait -e "(emacs-uri-handler \"%u\")"
MimeType=x-scheme-handler/emacs;
Type=Application
Terminal=false
Categories=Utility;Development;TextEditor;

Works for me on Linux Mint 11 (Emacs 23.2, Firefox 4.0, GNOME 2.32).


(Добавить комментарий)


[info]kaathewise@lj
2011-06-09 17:49 (ссылка)
Б-же, а зачем нужны emacs-uri?

(Ответить) (Ветвь дискуссии)


[info]salas@lj
2011-06-10 06:13 (ссылка)
Чтобы иметь в сгенерированной таблице ссылку «посмотреть/поправить файл, из которого я распарсил эту фигню». Зачем бы ещё?

Замечу, что я не одинок в этом извращении: см. прямо такой вопрос (http://stackoverflow.com/questions/1401776/how-to-configure-firefox-to-run-emacsclientw-on-certain-links/1405679#1405679) — только что решение там не работает сразу с нескольких сторон. Часть которых, надо признать, лично/национально-специфична: представление, что в именах файлов обязаны работать не только пробелы (url-unhex-string), но и русские буквы (вон тот развесистый цельноскопипащенный decode-string).

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kaathewise@lj
2011-06-10 06:15 (ссылка)
Аааа. ок.

(Ответить) (Уровень выше)