Перехват некоторых событий Emacs для улучшения интеграции org-mode / MobileOrg - PullRequest
6 голосов
/ 18 ноября 2010

Я недавно начал использовать MobileOrg (через Dropbox), чтобы иметь возможность управлять моими списками TODO в режиме org, когда я не на своем компьютере.

Как правило, это здорово, но синхронизация туда и обратно имеет несколько шагов, поэтому я бы хотел немного упростить ее, автоматизировав шаги на стороне ПК.

В любом случае, вот две вещи, которые я хотел бы сделать:

  1. Запускать org-mobile-push каждый раз, когда файл сохраняется, после завершения сохранения. Единственное, для чего я использую emacs - это режим org, так что все будет в порядке.
  2. Запустить org-mobile-pull при запуске emacs.
  3. Периодически запускать org-mobile-pull, скажем, каждый час или около того.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 18 ноября 2010

У меня не установлен Emacs на этом компьютере, но вот что вы можете сделать:

  1. http://www.gnu.org/s/emacs/manual/html_node/elisp/Standard-Hooks.html - ищите after-save-hook
  2. Запускаемые вещиперейдите к вашему .emacs файлу - если вы поставите вызов org-mobile-pull в конце этого файла, он будет запускаться каждый раз, когда вы открываете Emacs
  3. Проверяйте этот SO-ответ на периодический запуск некоторыхfunction: Как периодически запускать задачу в emacs?

Надеюсь, это поможет.

1 голос
/ 11 июля 2015

В этот ответ Я разместил код, который автоматически извлекает, а затем отправляет после синхронизации MobileOrg и автоматически отправляет всякий раз, когда сохраняется соответствующий файл организации.Это делает его полностью автоматическим, и вам не нужно ждать в течение часа.

1 голос
/ 02 января 2012

Вот что я использую

(add-hook 
  'after-save-hook 
  (lambda () 
     (if (string= buffer-file-name "<path to my notes.org>") 
        (org-mobile-push)
     )
  ))
...