Re: [gnome-cyr] Почему у меня постоянно бъются темы?



Sergey V. Oudaltsov пишет:

И покодирую.
Вот дойдем до красивой и стройной модели да и начнем...
Ой, баюс, баюс...

И правильно. После таких моих заяв, говоря языком экспертов - "пора впадать в панику". :)

не совсем так.
требуется только возможность отключать уже сконфигуренные группы.
enable_group(index)
disable_group(index)
Легко. Это то же самое, что secondaryGroupMask |= ( 1 << index ) или
secondaryGroupMask &= ~( 1 << index ). Группа становится дополнительной,
ее можно активизировать только через меню. Приделать к этому вызов - нет
проблем.
отлично.

надо придумать такую концепцию, чтоб была красива и не мешала
воплощать
необходимый функционал.
я не стою горой за данные функции, но давайте смотреть, что мы можем сделать.
Приведенные выше функции реализуемы легко. Я боялся худшего -
переинициализации всей конфигурации, типа
setConfig( model, layouts, options ... )
В принципе, даже это есть. Но давать это плагинам в виде публичного API
не хоца. А то начнут пользовать, а люди будут ругаться на "тормоза".
усекли и забыли.

Прямо так жестко? Введем "Бритву Любимова" (сорри за фамильярность,
но в истории так принято) и будем отсекать:)
а как же иначе? это концептуальный вопрос. иначе кодить нечего...
Концептуально - да, конечно. Я боялся, что Вы захотите составить два
_окончательных_ списка функций. Если дело только в концепции (в правилах
при отборе фич для core и плагинов) - тогда да, обязательно.
окончательный список фич будет выбит на мраморной плите на могиле переключателки.
никак не раньше. :)

Опять умный тезис хотел процитировать, да подумал, что хватит. Не на кафедре. :)
Да ладно, все свои:)
стороны плагины будут писаться и нами, но в порядке очереди. Вот эту очередь и стоит выстроить. Хотя бы по зависимостям, а еще лучше и по
весу.
Ну вот это уже конкретнее. Т.е. берем конечный маленький список первых
плагинов и смотрим, что им нужно.

Для себя, подробней и на русском.
Не. Только на аглицком, с вашего соизволения. И лежать оно все, понятно,
будет в CVS. Сколь угодно подробно.

Мне кажется, что попытка вести девелопмент сразу на английском - большая ошибка. Имхо, стоило бы переводить roadmap с обсужденного русского варианта и класть рядом.
Но дело, вобщем, хозяйское.

Нельзя рассчитывать на помощь других, не имея четкого плана.
"Есть ли у вас план, мистер Фикс?":)

вот сейчас и проясняем позиции.  :)
Перефразируя - "Будет день, будет и курево..."




*список раскладок* (я понимаю, что ограничение на 4 раскладки, но закладывать это в дизайн странички как то недальновидно)
Можно заложить. Изменение протокола xkb практически вряд ли
осуществимо.
Ну хотя бы подумать на эту тему. Ну плохо же разворачивать
классический
список в шеренгу...
Это обсуждаемо. Вопрос  лишь в том, как пользователь, добавивший 4
раскладки, будет воспринимать внезапное посерение кнопки "Добавить".
Жаловаться ведь побежит, гаденыш.

и это ЗДОРОВО! :)
такие жалобы - двигатель прогресса.
А если никому не нужно более 4-х раскладок и никто не заметит?
А если таки снимут это ограничение? Редизайн?

Не забывайте, что конфигуратор внедряется в гном. Дефолтная раскладка,
это очень важный параметр. Он обязательно должен быть доступен для
гнома
и без апплета.
Зачем??? Кто ее, кроме апплета будет использовать? И главное - человек
что-то там себе сконфигурил - и будет ждать, что это повлияет на его
жисть (на поведение системы). А оно не влияет. Никак. Или нужно человека
молотком по башке - "ЗАГРУЗИ АППЛЕТ, ДЯДЯ!"
Я тут малек запутался.

Как я понял, связь между конфигуратором и монитором (за исключением паразитных связей) идет через xkb

gconf <=> конфигуратор => xkb => монитор <=> gconf

Настройка default group концептуально должна быть в xkb и тогда настройка этого параметра будет в клнфигураторе. Интересно, что скажет Иван? Это важно, потому что такая настройка обязана быть общесистемной и используемой всеми (к примеру, виджеты для ввода паролей ). Иначе в ней просто нет никакого толка.

Как костыль, конечно, можно ее продублировать в апплет. Она пригодится, как хороший парметр для дефолтных предустановленных правил.
И то не уверен, что в аплете это так уж необходимо.

Он 100% нужен для  rule-based engine. Одно из action - установить
группу
по дефолту.
Глобальную? Для класса окна? Не понял, сорри. В любом случае - это будет
использовать только апплет и его плагины.
При инициализации или для класса окна.
Насчет только апплета см выше.

минимально, это флаги 1,2,3,4
и движок 0 ->4 при 4 в лог идут все записи, при 0 - ничего. при 2 -> записи с флагами 1 и 2.
Уже есть. Правда, в libxklavier - но испоользуется везде (и плагины
могут). Посмотрите на XkbDebug. Достаточно?

XklDebug( 100, "Applet configuration changed in GConf - reiniting...\n" );


По минимумум, да.
В идеале бы сделать флаги в виде битовой маски , чтобы в уи можно было лист с чекбоксами сделать и ловить только нужное, а не движок с числом.

XklDebug( 0x0001, "Applet configuration changed in GConf - reiniting...\n" );
XklDebug( 0x0002, "event...\n" );
XklDebug( 0x0004, "plugin...\n" );
XklDebug( 0x0008, "...\n" );


Зато я понял из дальнейшего контекста, что предполагается включать и выключать сконфигуреные раскладки в control-center.
Тоже годится.
А я опять не понял:)

В конфигураторе имеем список групп с кнопками добавить/удалить/вверх по списку/вниз по списку. Каждая группа имеет свойство - enable и соответсвующий чекбокс в листе. Добавил я, к примеру, 4 группы. (лично у меня -три рус, англ, фр) Но мне одна из них нужна только изредка (лично мне фр. нужна для сестры раз в полгода). Я беру и выключаю чекбокс этой группы и работаю с тремя раскладками. А когда надо поработать с текстом на этом редком для меня языке, я не добавляю его (и не объясняю сестре по телефону, как ее добавить), разыскивая в длиннющем списке всех раскладок и ставя на нужное место, а просто щелкаю на чекбокс и OK (это объяснить гораздо проще). Отчасти такое решение снимает остроту ограничения в 4-ре раскладки, поскольку перемещает его из области "4 раскладки" в еще более редкую область "4 активных раскладки"

Воля ваша, а я бы флажки _временно_ (до stable релиза) прибил.
До какого предела? Вообще - или выбор картинки руками?
вообще.
Не, пусть будут. С ними веселее:)

ну и ладно.

Например, чтобы показать, что функция автокоррекции вводимого текста включена. Фон надписи поменять можно?
Короче, надо сделать так. Еще две функции (точки входа) у плагина -
во-первых, плагин может заменить GtkWidget внутри апплета на свой.
Во-вторых, он может "скорректировать" существующий GtkWidget. В ядре
будут две реализации - label и картинка. Остальное - как хотите.

нет. так никто писать не будет.
Стоимость реализации такой индикации в плагине заведомо превысит ее пользу.
Функция могла бы быть
SetForeground(color)
SetBackground(color)
SetBorder(color)
AddMask (pixbuf)

А если два плагина начнут свои виджеты подставлять по очереди? Дожно быть несколько простых независимых (битовая маска) индикаторов на поле переключателки. Или не делать ничего в этом плане - по минимуму и это вариант.





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