[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gconf2 на сервере



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 вообще, заключается в попытке сделать универсальное решение для
проблем, которые еще только предстоит вообразить. Такой подход неизбежно
приводит к монстрообразным и неудобным решениям. 

Традиционный unix-way  имел другой подход - решать те проблемы, которые
уже известны и постараться обеспечить максимальную переиспользуемость
и комбинируемость принятых решений. Этот подход зачастую позволяет
решать вновь возникающие проблемы, декомпозировав проблему на уже
известные. Или во всяком случае минимизировать трудозатраты, решая
только те части проблемы, с которыми раньше сталкиваться не приходилось.

Поскольку готовых решений за почти 20 лет истории X наработано ну очень
много, обычно достаточно сформолировать проблему, чтобы она была решена.
У меня создается впечатление, что ты хочешь попытаться дать возможность
работать с системой конфигурирования юзеру, которые свои мысли
формулировать не умеет.

По-моему, это подход, обреченный на поражение. Лучше поделить юзеров
на две категории - тех, которые умеют формулировать, и тех которые
формулировать не умеют. И заботиться о первых, благо большая часть
авторов OpenSource программ именно к этой категории относится.

А вторые пусть жрут что им дал системный администратор.



Reply to: