Доброго, Дмитрий!

>
> В этом случае для изменения настроек можно было бы поправить файлы в
> $HOME/.voiceman/ и нажать C-e C-s, чтобы перезагрузить соединение с
> сервером.
Если думать об изменении конфигурации путём правки конфигов в домашней
директории, то не получается ли это просто локальным запуском
сервера пользователем со своим конфигом. Это и сейчас работает. Может
только не очень понятно как изящно решить вопрос конфликтов сокетов. 
Это не проблема, только надо самому с собой договорится, и не избежать
установки переменной $VOICEMAN, которая указывает, где искать сокет. 
Vm может собрать информацию об output'ах не из своего основного конфига,
а из его частей, которые он ищет в директории рядом с
конфигом. (например /etc/voiceman.d, если сам конфиг
/etc/voiceman.conf). Туда можно класть ссылки на те синтезаторы, которые
нужны в данный момент. Затея в том, что такое прекрасно скриптуется, а
если есть возможность горячего подхвата изменений, то оно может быть
нормальным решением.

Но если рассуждать глубже и искать более красивую структуру, то есть
такая идея: завести у каждого output кроме параметра name= скажем ещё
параметр id= и допускать существование нескольких output с одинаковым
name=, но с разным id=, и разрешая, чтобы только один output из группы с
одинаковым именем мог быть активен. В протокол добавить команду смены
output на другой с другим id=, которая имела бы силу только в рамках
одного соединения.
Единственное, что я не знаю, то как пробросить посылку такой команды
через emacspeak. Может быть это стало бы известно лучше, глядя на
исходники команд dtk-*.
Что до вопросов реализации, то проблем нет, но для того, чтобы начать
делать это, нужно чтобы наиболее заинтересованные люди сказали, что им
это точно нравится. Иначе сервер будет нагромождаться ненужными фичами и
станет пухнуть от раздутой структуры. Хотя именно в таком подходе мне не
видны нарушения того, что часто называют дизайном. Другими словами, это
не выглядит как костыль.
Как тебе приведённые размышления?
-- 
Michael Pozhidaev. E-mail: [email protected].
Tomsk State University. http://www.csd.tsu.ru
ALT Linux Team. http://www.altlinux.org

-- 
Blinux-rus mailing list
[email protected]
http://www.a11ywiki.org/cgi-bin/mailman/listinfo/blinux-rus

Ответить