LINUX.ORG.RU

fvwm focus + taskbar (fbpanel) [снова]


0

0

Никак не могу я понять как этот фокус работает:
Вот конфиг:

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; и перекомпилировать. Авось сработает!?

mr ★★
()
Ответ на: комментарий от mr

> Всё-таки надо было использовать 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

Результат нулевой... Работает точно также как описано в первом сообщении...

tugrik ★★
() автор топика
Ответ на: комментарий от tugrik

аа..
похоже 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

Попробую пересобрать..

tugrik ★★
() автор топика
Ответ на: комментарий от tugrik

Проверил сейчас 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 не так?

mr ★★
()
Ответ на: комментарий от mr

> Может, что-то с этим fbpanel не так

Так оно и есть. Я в функцию EWMHActivateWindowFunc.
Вставил:
+ I Echo ActivateWindow

И когда в fbpanel переключаюсь между "окнами", 
то в stderr ничего не сыпится. Это с fbpanel 4.3.
А сейчас с сайта собрал последнюю версию  - 4.5.
И все заработало.
Похоже fbpanel как-то частично поддерживает EWMH.

p.s.
Спасибо, за терпение. И за то что конфиг проверял... :-)

tugrik ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.