> Угумс. Вот и руководь, а не задавайся вопросом "хочу ли я это делать > ваааще". :) Я надеюсь, я еще сохранил право определять направления развития:) > Руководитель отличается от прочих тем, что принимает и обрабатывает > мнения, а затем распределяет нагрузку в соответствии с "инициатива > наказуема". Видите ли, Вячеслав - не разработчик (ну, насколько я представляю его позицию). И в этом отношении ничем не рискует - он может генерить идеи в любом количестве - я даже не могу попросить его взять в руки компилятор. Но в этом случае позволю себе относиться чуть с большей "критичностью" к этим идеям. Вас я, конечно, попросить покодировать могу - но только попросить:) > Это уже второй вопрос. Естественно такую функциональность в core > запихивать не стоит. А вот посмотреть во что выливается API с учетом > возможности написания такого плагина вполне можно. Это значит, что само core должно предоставлять функцию переконфигурирования xkb. Этого-то мне делать и не хоца. > И тогда уже исходить не из того, писать или не писать плагин, а из того, > стоит ли такая возможность самого плагина трудов в core. Во-во. Тут даже дело не в трудах (на сегодня gswitchit чисто организационно почти готов к такой жизни) - а в концепции. Которая мне не очень нравится (как руководителю проекта). > 1)Нарисовать дерево функционала переключателки и конфигуратора Спасибо за первый набросок. Будем обсуждать. > 2)Решить, что будет в core, а что вылетает в плагины Прямо так жестко? Введем "Бритву Любимова" (сорри за фамильярность, но в истории так принято) и будем отсекать:) > 3)Решить, какие плагины нужно делать, а какие оставить на > third-development (просто сделать их написание принципиально возможным > путем внесения нужной функциональности в API) А-а. А может - просто узнать, кто реально собирается работать над 3rd party plugins и собрать с них пожелания? Может, так эффективнее будет? Чем реализовывать и поддерживать код, который никто не будет использовать. > 4)Оценить затраты и провесть усекновение до хорошего показателя > трудоемкость/функционал Если числитель довести до нуля (благо знаменатель уже не нуль) - хороший результат получится!:) Шутка > 5)Написать TODO и ROADMAP Второй уже есть:) > 6)Кодить Ой, ждать-то как долго:) > *список раскладок* (я понимаю, что ограничение на 4 раскладки, но > закладывать это в дизайн странички как то недальновидно) Можно заложить. Изменение протокола xkb практически вряд ли осуществимо. > * редактировать раскладку Можно убрать "редактировать" - достаточно первых двух. Или вы собрались редактировать именно соотвествие клавиш и символов?(???) > *свойства раскладки * > * горячая клавиша для переключения в эту раскладку Этого не будет. Могу обещать. Было. Прямо не реализуется. Точнее, реализуется таким геморром, что делает затею бессмысленной - быстрее и проще пробить патчи в XFree на добавление нового метода переключения. Тем более - Иван теперь может коммитить туда, если switchtcut разумен. > * дефолтная раскладка (нужна в апплете и... вообще нужна :). Бессмысленная установка без апплета. В параметрах апплета. xkb-properties-capplet славен тем, что все его установки доступны даже при отсутствии апплета на панеле (and I want to keep it that way). Эта установка работать не будет. > * с указанием parent виджета для встраивания в приложения. > (экстра, вполне можно потом) Не нужно совсем. Я об этом думал - ни апплет, ни капплет никакой бонобо-ценности не имеют. Тому, кто придумает жизненный пример использования капплета - приз в лице пинты Гиннесса:) Апплет еще можно пробовать куда-то встраивать - но я не верю в то, что abiword или gaim реально на это пойдут. А ваять кучу бонобовского кода (вообще, бонобо - тот еще подарок, как любая компонентная модель, выраженная в С) just for a sake of it - нахрен. Да, еще - в xkb-properties-capplet нужно сохранить кнопку advanced - для всех тех "экзотических" настроек, которые предоставляет xkb. Я видел людей, которым, например, нравится сопоставлять русскую раскладку с горящим ScrollLock. > Все пишется сразу, никаких плагинов, с совещаниями в гноме и т.д. Это понятно. Кстати, Вячеслав прислал эскиз настроек параметров для апплета. Если кто-нибудь подумает про капплет - будет совсем не плохо. > *Логирование* М-м. Вообще-то, оно есть. И даже конфигурится кое-как. Проблема в том, что в гноме нет log4j (как жаваписец очень ее люблю). Поэтому особой гибкости не обещаю - создавать побочным продуктом log4j не хочу. Может, посмотрю на log4c - но вводить внешнюю зависимость от достаточно экзотичной либки только для логирования - стремновато. Короче, очень богатой конфигурируемости сегодня нет - и как-то вряд ли предвидится... > Проблем при настройке монитора без логов будет очень много, кроме того > логи (веренее их обработка) отлично заменят xprop. Логи безусловно нужны. Вопрос в минимально необходимом уровне гибкости. > * набор action (установить раскладку по умолчанию, установить > конкретную раскладку и т.д.) Давайте уж в терминах xkb, коль скоро говорим о разработке. Вы про раскладку - или про группу? Раскладку, вообще говоря, установить нельзя:) > * роутинг событий через плагины в соответствии с очередью (может, > регистрировать из плагина события, к которым их подключать?) Смысл уточнять события? Какой-то уж очень fine performance tuning. Чтобы окупить такое изменение, нужно на руках иметь десяток наличных плагинов. Меня учили, что нет ничего вреднее преждевременной оптимизации:) Да, кстати, плагины должны иметь возможность сказать CANCEL обработке события. Дескать, я обработал - а остальные пусть не трогают. Так, как это сделано в gtk для событий X. > * Список текущих раскладок с вкл/откл чекбоксом (идея Славы, только > в терминах и понятиях гнома гнома :) Вот это я не понял. > Воля ваша, а я бы флажки _временно_ (до stable релиза) прибил. До какого предела? Вообще - или выбор картинки руками? > 1) все эти локальные соответствия, картинки в апплете и прочее ломкое дело. Жестко. Зачем? > 2) картинка - красиво, но малоинформативна. у текста есть цвет надписи, > цвет фона, жирность, курсив которыми можно рулить из плагинов легко и > непринужденно (через соответствующие action) , а что делать с картинкой? Зачем это все рулить? Есть тема гнома. В ней указано, как рисовать label. И все. Не нужно выходить за рамки темы. Гномовцам не понравится - и правильно. > 3) Устаканится action лист - станет ясно, что можно сделать с их > индикацией в случае флажков. Вот тады менять и будем. > 4) Кодить, кодить, кодить будет проще... :) Да и сейчас это не очень сложно:) > rule-based engine надо или дорабатывать до универсального вида и > впихивать в core или делать в виде плагина. Что значит "до универсального вида". Я надеюсь, Вы не заставляете меня изобретать емакс и использовать лисп? > То, что у Вячеслава, чистый плагин. Если же делать по другому - правила Правило - простое. WM_CLASS->group number. В gconf кладется в виде /apps/gswitchit/Windows/WM_CLASS.0 /apps/gswitchit/Windows/groupNumber.0 и т.д. Может, когда-то добавится /apps/gswitchit/Windows/secondaryGroupMask.0 > (логическое выражение с операндами маска wmclass group, имя события) и > action (смена раскладки, передача события в плагин, ничего не делать), Ничего не понял. При чем тут "передача события в плагин" и "ничего не делать"? > Плагины в таком случае тоже регистрируются правилами. Нажал чекбокс > "активизировать плагин" и плагин через API прописал пару правил для > передачи нужных ему событий на себя. Отжал - отписался. Резко упрощается > конфигурирование плагинов, оптимальность некотрая. Это возможно. Правда, плагины (такого типа) начинают становиться какими-то очень одинаковыми. Может, в этом случае, все-таки лучше один конфигуратор для правил? > Отсутствие плюса - потому что не дает возможности манипулировать > раскладками на лету, хотя все для этого есть. Дорого - если реально перегружать раскладки. Переключение окон будет тормозить (оно и так медленнее винюкового, в среднем) > Везде, где есть три и более раскладки - одна или более всегда лишняя. Три и менее, Вы хотели сказать? > Переключение происходит по кругу. И в нем постоянно сидят "мертвые > души". Так что использовать будут. А-а. Так вы просто про смену маски вторичных раскладок per WM_CLASS. Это меня не пугает, это можно обсудить:) > нечасто. раз в полчаса, раз в день. Опять не понимаю. Все-таки перегружаем конфигурацию. А почему нечасто? > насчет пооконной конфигурации - наверное, перебор. А включить/отключить > раскладку (не стирая ничего! просто enable/disable)- очень полезно. Так войди в xkb-properties-capplet, уважаемый пользователь - и выбери чего надо. > Ага. Она наполняется актуальностью. А жирок стрясем, прежде чем > расчехлять анюту... Как-то пока он только растет...:) > Надо обсуждать. Да пожалуйста:) -- Sergey
Attachment:
signature.asc
Description: =?koi8-r?Q?=FC=D4=C1?= =?koi8-r?Q?_=DE=C1=D3=D4=D8?= =?koi8-r?Q?_=D3=CF=CF=C2=DD=C5=CE=C9=D1?= =?koi8-r?Q?_=D0=CF=C4=D0=C9=D3=C1=CE=C1?= =?koi8-r?Q?_=C3=C9=C6=D2=CF=D7=CF=CA?= =?koi8-r?Q?_=D0=CF=C4=D0=C9=D3=D8=C0?=