|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alex Kicelew 2:5020/400 26 May 2005 02:15:34 To : All Subject : fvwm, xxkb и gtk2 --------------------------------------------------------------------------------
Hi.
Xxkb у меня не видит fvwm-овских меню. Точнее, не считает их окнами, и,
соответственно, не переключает раскладку, когда появляется меню. Даже если меню
отцепить (tear-off), после чего с него, с меню, можно будет спросить (xprop-ом
или fvwm-овским identify-ем) характеристики, xxkb будет все равно плевать на
меню (в том числе и на отцепленные), в каком виде эти характеристики в .xxkbrc
не прописывай. Иными словами, менюшки ведут себя так, будто в .xxkbrc на них
прописано ignore.
Из этого вытекает следующее. Если в .xxkbrc стоит focusout no, то при вызове
меню раскладка остается той, что была до вызова. Была русской -- и в меню
невозможно воспользоваться хоткеями. Переключить прямо в меню на английский --
переключится, но после исчезновения меню в том окне она тоже останется
английской.
Если же в xxkb включить focusout yes, то менюшки работают правильно (видимо,
xxkb считает их чем-то вроде рута, главное, что он не считает их
предыдуще-активным окном, и переключает на них раскладку на английскую, а после
смерти меню возвращает старую), но этот режим, как оказалось, невозможно
использовать с gtk2-шными программами при включенном в fvwm sloppyfocus. Раньше
я жил в clicktofocus, и все работало нормально (почти -- были мелкие глюки, но я
к ним привык). А сейчас захотел попробовать sloppyfocus, и обнаружил, что в
таких условиях xxkb в gtk2-шных программах переключает раскладку при пересечении
любой области внутри gtk2-шного окна. Причем только если мышь движется медленно.
При быстром движении не переключает. В результате чего при заходе мышью в
gtk2-шное окно раскладка там определяется практически по случайным числам, ибо
зависит от того, сколько областей и с какой скоростью мышь успеет пересечь до
того, как остановится.
А при focusout no не работает меню. А при focusout yes не работают gtk2-шные
программы.
Есть ли какой-нибудь работоспособный выход из этой ситуации?
Hасколько я понимаю, основной причиной глюка является именно то, что описано в
первом абзаце. Т.е. то, что xxkb не считает меню окном. Hапример, нельзя жестко
зашить в .xxkbrc, что окно с классом fvwm_menu (а и xprop и identify рапортуют
на отцепленное меню именно это) должно стартовать в такой-то раскладке. Что бы я
ни писал в .xxkbrc, при focusout yes меню получается в английской раскладке, а
при focusout no -- в раскладке предыдущего активного окна.
Вот что делать в такой ситуации? Отказаться от gtk2-шных программ я не могу. Ибо
несмотря на прочтение Раскина (и согласия с ним по очень многим пунктам) для
меня привычка является очень весомой составной частью удобства. Чтобы отказаться
от gtk2 мне придется менять очень много привычек. Hе потяну. Я вон одну всего
попробовал поменять -- clicktofocus на sloppyfocus -- и то, похоже, обломался...
:(
--
Alex Kicelew <ark@mir.glasnet.ru> ICQ 3887592
--- ifmail v.2.15dev5.3
* Origin: Zone X (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/135049e0c57ac.html, оценка из 5, голосов 10
|