22 августа 2009 г.

Org-mode даты?

Возник вопрос с датами в org-mode. Возможно ли настроить сложные повторяющиеся события, такие как, повтор события каждую неделю во вторник, среду и пятницу. Если просто добавить несколько дат, то во время изменения состояния события на DONE, изменятся все даты, а не одна нужная.

Сейчас для подобных событий делаю 3 одинаковые записи с разными датами. Например:

#+STARTUP:showall
* TODO Полить цветы
  SCHEDULED: <2009-08-25 Tue 11:00 +1w>
* TODO Полить цветы
  SCHEDULED: <2009-08-27 Thu 11:00 +1w>
* TODO Полить цветы
  SCHEDULED: <2009-08-29 Sat 11:00 +1w>

P.S. Строка #+STARTUP:showall добавлена для того, чтобы при конвертировании в HTML из muse-mode, фрагмент примера заключенный в тег <src lang="org"></src> отобразился полностью, а не только названия дел.

Баги Amarok 2.1.1

С недавнего времени удалил все приложения kde-3 и qt3. Соответственно обновился на существующие версии программ для kde-4 и qt4. И теперь в качестве оконного менеджера использую OpenBox. Так вот в связи с этим всем обновил и amarok — любимый аудио плеер, подтолкнувший меня давным давно аккуратно каталогизировать коллекцию музыки.

Уже ранее пробывал 2-ой amarok, но тогда сразу же отказался от его использования, в виду малой функциональности по сравнению с ранними версиями. 2.1.1 сначала порадовала. Импортировала старую базу с mysql. Очень хороша показалась на этот раз интеграция с last.fm. Появились поддержка очереди. На этом похоже радости кончились.

Первое, что бросилось в глаза — знаки вопросов вместо русских букв в названиях групп и песен для некоторых русских исполнителей, которые ранее отображались абсолютно нормально, как в amarok-1.4, так и в easytag.

Также было замечено, что 2-ой amarok напрочь отказывается проигрывать некоторые треки и чуть ли не виснет при этом. Например, он не захотел проигрывать ни одну песню группы #####. У меня подозрение что это опять же связано с тегами. Заметил что с amarok идет их собственные библиотеки taglib и taglib-extras. И собственно не совсем понимаю, зачем надо было создавать новые решения существующих рабочих библиотек.

Последнее, что добило окончательно — amarok по своим непонятным причинам переставал играть следующую композицию в списке. Тут я не выдержал и удал его. Сейчас поставил пока себе Exaile, но он меня все же также не особо радует. Не хватает функций работы с коллекциями. Жду с надеждой новых релизов amarok. Да и подумал — пора уже сделать качественный upgrade компьютеру. Производительности Celeron 2100 Hz на современные программы порой уже не хватает.

14 августа 2009 г.

Работа с Emacs --daemon

С выходом Emacs-23.1 сразу же перешел на указанную версию любимой программы. Как известно одной из новых функций является возможность запуска Emacs в режиме демона. Дальнейшая работа производится с помощью emacsclient позволяющего подключаться к демону как в иксах, так и из консоли.

Теперь для полного выхода из Emacs (убийство демона) использую функцию kill-emacs. Но в таком случае не сохраняются открытые буферы и сессия (desktop). Поэтому добавил в файл инициализации далее описанную функцию и назначил на нее клавиши C-x c:

(defun my-kill-emacs ()
  (interactive)
  (save-some-buffers)
  (desktop-save-in-desktop-dir)
  (kill-emacs))

(global-set-key (kbd "C-x c") 'my-kill-emacs)

Для запуска Emacs в меню OpenBox добавил пункт выполняющий следующее:

emacsclient -c -a emacsdc

Где emacsdc - скрипт следующего содержания лежащий в папке ~/bin, которая добавлена в PATH:

#!/bin/bash

emacs --daemon && emacsclient -c

Таким образом при вызове Emacs из меню, в момент когда не включен демон, запускается собственно демон и сразу же открывается новый фрейм. Если же демон уже запущен, просто открывается фрейм, подключенный к демону. Из консоли же теперь можно запустить так:

emacsclient -t

P.S. Оказывается все намного проще! Не надо никаких скриптов придумывать. Запускать Emacs надо так:

emacsclient -c -a ""

P.P.S. Спасибо тов. Juev'у.