On Thu, Jul 03, 2003 at 01:33:43PM +0400, Victor B. Wagner wrote: > On 2003.07.03 at 03:28:04 +0500, Vlad Harchev wrote: > > > > > > > * не допускает легкого назначения свойств из программы свойствами > > > > конфигурирования встроенными в программу (так как непонятно, > > > > какой шаблон генерить в качестве ключа - неоднозначность!) > > > > > > Тут все понятно - максимально конкретный. Без единой *. > > > > не факт что всегда это будет то, что пользователь хочет. > > > Зато всегда будет наиболее безопасно.
Ага, а еще безопаснее - вообще ничего не сохранять... [..] > > > > * не допускает перебора значений для данной маски AFAIR (или маску надо > > > > нетривиально генерить) > > > > > > Не понял смысла этой идеи. > > > > В случае gconf'а или реестра в какой-то ветке мы можем создать > > 20 подветок. У программиста в случае gconf'а или реестра есть возможность > > получить имена всех этих веток (и соответственно в них получить значения > > ключей). > > А в случае ресурсов? Наверно будет муторно узнавать все маски.. > > Можно-то можно, но нафига? Если не рассматривать ублюдской идеи написать > единый конфигуратор для всего? (почему я считаю эту идею ублюдской я уже > писал. Добавлю еще - копаться в regedit-е намного сложнее, чем в > .Xdefaults, ровно потому что в regedit показывается все, а в .Xdefaults > написано только то, что ты хочешь чтобы у тебя отличалось от системных > умолчаний.) > > > > > * не позволяет указать для группы *разных* приложений имя их экземпляра > > > > класса (ну разве что путь поиска изменить app-defaults файлов) > > > > > > И тут не понял. > > > > Допустим ч-к пускает терминал, и хочет чтобы все Х-овые программы, > > пускаемые > > из него, имели один цвет (отличный от того, что имеют программы, пущенные из > > других терминалов). > > Пример крайне надуманный и не очевидный. Мне НЕПОНЯТНО зачем отличать > программы, запущенные из определенного терминала, от всех остальных. Тем > более что 90% X-овых программ все равно запускается из меню Window > manager-а. > > Я могу себе представить > некоторые другие критерии - программы запущенные со специфическими > правами, программы запущенные на определенной машине, програмы > запущенные с определенной локалью. > > Все эти осмысленные критерии xrdb УЖЕ поддерживаются. > > Основная проблема в твоей логике, как и в логике авторов gconf и > GNOME вообще, заключается в попытке сделать универсальное решение для > проблем, которые еще только предстоит вообразить. Такой подход неизбежно > приводит к монстрообразным и неудобным решениям. У тебя тоже какая-то большая проблема в логике. Авторы gconf/gnome пытаются облегчить задачу написания софта. А это требует создания универсальных библиотек и решений, удовлетворяющих требованиям, которые они (разработчики) считают нужными. > > Традиционный unix-way имел другой подход - решать те проблемы, которые > уже известны и постараться обеспечить максимальную переиспользуемость > и комбинируемость принятых решений. Этот подход зачастую позволяет > решать вновь возникающие проблемы, декомпозировав проблему на уже > известные. Или во всяком случае минимизировать трудозатраты, решая > только те части проблемы, с которыми раньше сталкиваться не приходилось. Ты почему-то смотришь все время со стороны пользователя. А если ты копнешь со стороны программиста - то даже *реализация* всех этих юниксовых утилит сопряжена с большим кол-вом гемороя - в каждой программульке свой код по обработке комм. строки, реализации списков, парсингу конфигов, и прочего. Вот этого от гемороя в реализации десктопы/библиотеки и пытаются спасти. А единый конфигуратор - это приятная добавка (просмоторщик/редактор базы данных настроек), которая достается "бесплатно". Ведь ни в винде, ни в gnome нет программ у которых начисто отсутствуют диалоги настройки! Наличие gconf-tool/regedit все-таки очень важно из-за того, что авторы не пытаются запихнуть все настройки в диалоги; чтобы не делать громаднейшие диалоги настройки (это вредно хотя бы потому, что юзер запутается) им легче сказать что "perfom advanced configuration via gconf/regedit". > > Поскольку готовых решений за почти 20 лет истории X наработано ну очень > много, обычно достаточно сформолировать проблему, чтобы она была решена. Опять думаешь как пользователь. > У меня создается впечатление, что ты хочешь попытаться дать возможность > работать с системой конфигурирования юзеру, которые свои мысли > формулировать не умеет. Ты наверно среднестатистического юзера компа плохо представляешь. А он должен иметь возможность настроить что-то под себя. > По-моему, это подход, обреченный на поражение. Лучше поделить юзеров > на две категории - тех, которые умеют формулировать, и тех которые > формулировать не умеют. И заботиться о первых, благо большая часть > авторов OpenSource программ именно к этой категории относится. > > А вторые пусть жрут что им дал системный администратор. Лучше чтобы работал и такой подход, и подход "юзер обязан иметь возможность работать без админа". Подход gconf это позволяет делать с наименьшим трудом чем xresources. -- Best regards, -Vlad