Никак не могу я понять как этот фокус работает:
Вот конфиг:
IgnoreModifiers L25
DeskTopSize 1x1
Style * ClickToFocus, FPSortWindowlistByFocus
Style FvwmTaskBar BorderWidth 0, HandleWidth 0, NoTitle, NoIcon
Key s A M Exec exec urxvt
Mouse 0 2 A Close
DestroyFunc StartFunction
AddToFunc StartFunction
+ I Module FvwmTaskBar
Стартуем fvwm, жмем 3 раза alt+s, создается 3 консоли(1,2,3).
Теперь 2 случая:
1) После создания 3 косолей фокус имеет 3-я.
Мышкой переключаем. 3->2->1->3.
Закрываем 3 окно. Фокус переключается на 1. Все правильно...
2)После создания 3 косолей фокус имеет 3-я.
Мышкой переключаем кликая на иконки в FvwmTaskBar или fbpanel. 3->2->1->3.
Закрываем 3 окно. Фокус переключается на 2.
Что за ерунда????
p.s.
мелочь, а раздражает...
Всё-таки надо было использовать FvwmButtons+FvwmIconMan...
Это означает, что FvwmTaskBar использует функцию Focus вместо FlipFocus. Раз уж так влюбились вы в модуль taskbar, то могу только предложить в файле FvwmTaskBar.c заменить встретившиеся команды Focus на FlipFocus; и перекомпилировать. Авось сработает!?
> Всё-таки надо было использовать FvwmButtons+FvwmIconMan
Возможно :-) Но нужен именно taskbar, не важно какой главное чтоб была
кнопка "старт", и меню.
Меня еще вот что смущает, что fbpanel которым я пробую заменить
FvwmTaskBar, ведет себя точно также...
> Это означает, что FvwmTaskBar использует функцию Focus вместо FlipFocus
есть такая тема (man fvwm):
When a compliant taskbar asks fvwm to activate a window (typically
when you click on a button which represents a window in such a taskbar),
then fvwm calls the complex function EWMHActivateWindowFunc which
by default is Iconify Off, Focus and Raise. You can redefine this func tion.
For example:
DestroyFunc EWMHActivateWindowFunc
AddToFunc EWMHActivateWindowFunc
+ I Iconify Off
+ I Focus
+ I Raise
+ I WarpToWindow 50 50
additionally warps the pointer to the center of the window.
Вставляю я эту функцию в config и меняю
+ I Focus на + I FlipFocus
Результат нулевой... Работает точно также как описано в первом сообщении...
аа..
похоже fvwm у меня скомпилирован без поддержки EWMH hints.
fvwm 2.5.18 compiled on Nov 11 2006 at 06:00:43
with support for: ReadLine, RPlay, Stroke, XPM, PNG, Shape, XShm, SM,
Bidi text, Xinerama, XRender, XFT, NLS
Попробую пересобрать..
Проверил сейчас gnome-panel. Действительно, переключение работает "неправильно" по умолчанию; но если скопировать в fvwmconsole эти строчки:
DestroyFunc EWMHActivateWindowFunc
AddToFunc EWMHActivateWindowFunc
+ I Iconify Off
+ I FlipFocus
+ I Raise
то работает "правильно".
Моя версия fvwm:
fvwm 2.5.19 compiled on Dec 13 2006 at 23:42:13
with support for: ReadLine, XPM, PNG, Shape, XShm, SM, Xinerama, XRender, XFT, NLS
> Может, что-то с этим fbpanel не так
Так оно и есть. Я в функцию EWMHActivateWindowFunc.
Вставил:
+ I Echo ActivateWindow
И когда в fbpanel переключаюсь между "окнами",
то в stderr ничего не сыпится. Это с fbpanel 4.3.
А сейчас с сайта собрал последнюю версию - 4.5.
И все заработало.
Похоже fbpanel как-то частично поддерживает EWMH.
p.s.
Спасибо, за терпение. И за то что конфиг проверял... :-)