Re: [gnome-cyr] MDI + independent XKB group switching



On 17 Oct 2002, Sergey V. Udaltsov wrote:

> >  Думаю в GtkNotebook тащить это - немного стремновато. Как минимум должна быть
> > возможность иметь старое поведение у gtknotebook - то есть у всех закладок
> > одного окна 1 язык (иначе будет больше вреда чем пользы от таких нововвеений).
> Я уже, кажется, писАл раза 3 - ФЛАЖОК в UI-PROPERTIES-CAPPLET. Могу
> вынести в субжект:)

 OK. :) 
 Но думаю даже никаких флажков и не понадобиться если сделать как я предложил
- то есть если просто предупреждать (путем установки проперти) о том,
что юзер переключился в другую страницу ноутбука.

> > Как это можно красиво сделать:
> >  Мысль1)
> >  Наверно лучше всего в gtk продавить патч который заставляет toplevel
> > gtknotebooks (и только верхнего уровня!) менять значение какого-то свойства на
> Вопрос - какого свойства? Стандарта на это дело нет. В простейшем
> варианте (изначально мной предложенным) GtkNotebook цинично вызывает
> переключение раскладки через честный Xkb вызов. И хранит внутри себя

 Думаю закладывать вызовы XKB в gtk - крайне некрасиво и неверно.

> текущую группу как обычную переменную. Но после предложения Дмитрия я
> уже ни в чем не уверен:) Т.е. возможность табов хранить раскладки даже
> будучи расшнурованными - подымает проблему на новый уровень. Момент
> "расшнуровки" виден очень туманно...

 Думаю проблему расшнуровки надо просто игнорировать - разве юзеры очень часто
расшнуровывают/подшивают закладки? Будет ли таким PITA забывание текущего
языка у закладки при ее расшнуровывании? Я думаю нет.

> > окне. И тогда если юзер хочет чтобы у каждой закладки был свой клав. язык в
> > данном окне он каким-то образом должен сказать это XKB, и XKB должен начать
> > слушать изменения свойства, соотв. текущей закладке на этом окне.
> XKB ничего слушать не может:) Это только API, конфигурация, набор

 Упс, думал что под XKB подразумевается менеджер раскладок типа GSwitchIt, а
не само расширение Х.

> событий и способов их обработки. Слушать может только GSwitchIt (от
> кривого gkb, извините, не жду таких изысков). Который, как было
> заявлено, даже не часть GNOME. Вроде (если не ошибаюсь) есть способ
> слушать изменения свойств. Вопрос в том - станет ли гномовский код
> впустую менять какие-то проперти, ожидая что кто-то (а сегодня это
> ТОЛЬКО GSwitchIt)

 Уж убедить сделать это на порядки легче чем внести также и вызовы XKB для
переключения раскладки.
 Имя свойства можно выбрать посоветовавшись с freedesktop.org (и оно IMHO не
должно содержать слово gtk - так как тоже самое можно внести в реализацию
notebooks в других виджетсетах).

> >  Это было бы идеологически правильным вариантом.
> Согласен.
> >  Честно говоря я не знаю, есть ли техническая возможность у аплета XKB
> > попросить X WIndow сообщать ему об изменении свойства на toplevel window или
> > эта возможность есть только у менеджера окон (так как топлевелами являются
> > все-таки наверно обрамления окон..).
> Вроде, есть. Могу посмотреть спецуально.

 Я подумал - лучше менять свойства root window - на нем изменения
свойств могут слушать все.
 
> > в возможность приложения слушать события propertynotify у любого окна.
> Не хачууууу! Хочу быть честным с точки зрения иксов. Для меня, после
> долгой работы с XKB, лояльность к X важнее лояльности к гному (особенно
> после истории с _exit):) Гномовские API меняются, он еще молод. А искы
> древние. Приятно, знаете ли, чувствовать под собой крепкую почву...

 Не понял к чему относится "Не хачууууу!".

> Если не возражаете, не будем обсуждать второй вариант. А вот как
> протолкнуть первый - я не знаю. 
> Итак, сухой остаток.
> 
> Есть, в рамках Вашего первого варианта, два подварианта развития
> событий:
> 
> 1. gtknotebook напрямую дергает xkb api. Будут некоторые проблемы с
> gswitchit, но, возможно, их можно решить.
> 
> 2. gtknotebook ставит некое (?????) свойство главного окна. Некто (????)
> это свойство слушает и действует.
> 
> Мне нравится 2. Но есть проблемы.

 Мне тоже, и на порядки больше чем 1). Просто XKB не все пользуются (CJK
people оно вообще до лампочки), и действительно вроде XKB нормально работает
только в XFree как я слышал..

> Да, надо посмотреть на код, которым gkbnotebook расшнуровывается в
> приложениях. Стандартен ли этот код, или каждый обходится
> самостоятельными решениями (xchat/gaim/galeon/...)? Если кто-то смотрел
> - расскажите.

  Cоздается окно, в него перемещается содержимое закладки используя
gtk_widget_reparent.
 
> Вообще, нет ли ощущения, что нам пора в gnome-devel и перейти на родной
> язык:)?

 Думаю надо сначала здесь принять консенсус. И думаю лучше в gtk-devel-list и
в список на freedesktop.org.
 Из подписчиков gtk-devel понятие keyboard group знакомо только 3% - а
именно выходцам из СССР и Овену Тейлору (я это выяснил когда пробивал в gtk
свои патчи на эту тему). Так что эта тема будет вообще оффтопиком в
gnome-devel.


 Best regards,
  -Vlad


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