Использование режима Org с календарем Gnome 3

Gnome 3 имеет красивую панель календаря, которая выпадает из строки меню, и содержит место для ваших предстоящих встреч. По умолчанию этот менеджер встреч читает из календаря в Evolution Mail. Мне было любопытно, можно ли заставить его работать с Org-Mode. Я знаю, что Evolution может импортировать файлы.ics, а Org-Mode может записывать их, так что это начало. Есть ли у кого-нибудь мысли о том, как можно (а) настроить календарь Gnome 3 для работы непосредственно с Org-Mode или (b) настроить эффективную синхронизацию между Org-Mode и календарем Evolution Mail, чтобы это отражалось в Gnome 3 Панель календаря?

3 ответа

Решение

Я полагаю, вы уже используете org-agenda, То, что вы ищете, это org-write-agenda чтобы получить экспортированный файл ics. Я бы обернул эту функцию вашим собственным sync-cal функция. sync-call должен идти вперед, написать повестку дня /tmp а затем вы должны выполнить несколько команд оболочки (см. start-process) синхронизировать с Evolution (как это сделать, я не знаю). Теперь вы можете подключить sync-cal Функция для некоторых функций сохранения файла и запустить его в зависимости от имени файла.

Хаки, но я бы так и сделал, если бы использовал Gnome.

Идея, которая пришла мне в голову позже в тот же день - немного замысловатая, но возможная - это пройти через Календарь Google. Существуют сценарии Org-Mode для записи в Календарь Google и стандартная процедура в Evolution Mail для чтения из Календаря Google. Так что, если вы не возражаете против того, чтобы сторонние поставщики или обновления календаря зависели от доступа в Интернет, должна быть возможность синхронизации через Google. Это не элегантное решение, но, по крайней мере, хорошо документировано.

Для синхронизации между Evolution и выделенным файлом org (пока только в одностороннем порядке) вот скрипт Python: org-agenda-evolution.

(Отказ от ответственности: (1) я являюсь автором, (2) по состоянию на 2022-08 год в инструменте отсутствует система конфигурации, поэтому прямо сейчас вам, возможно, придется настроить некоторые константы верхнего уровня в исходном коде, чтобы заставить его работать для вашей организации. -режим настройки.)

Другие вопросы по тегам