Thomas Adam wrote:
On Wed, Jan 06, 2010 at 04:27:36PM +0100, Zoilo Gomez wrote:
Why does Flashplayer loose the focus when VLC goes from full-screen
to normal-screen? How can I prevent this from happening?

It looks as though some applications (vlc, xine, etc) still pass the click
to the window which allows the client to accept focus.  Thus, although you
have "NeverFocus" set, it's not doing it's job properly.

I do not understand what you mean - in any case there is no mouse click or so.

Well, I say "properly" -- it looks like the events reaching the window with
NeverFocus are odd for some clients.

Can you hook up "xev" to your "NeverFocus" window, make it go fullscreen
then out again, and send me the log?

My configuration:

Style * SloppyFocus
Style vlc StartsOnPage 0 0, !Title, !Handles, WindowListSkip, NeverFocus, !Borders, StaysOnTop, !FPGrabFocus Style flashplayer StartsOnPage 0 0, !Title, !Handles, WindowListSkip, !Borders, StaysOnBottom


==

While VLC is in normal-window mode, I attached xev to this VLC normal-mode window, then make it go full-screen:

UnmapNotify event, serial 13, synthetic NO, window 0x1000004,
   event 0x1000004, window 0x1000004, from_configure NO

PropertyNotify event, serial 13, synthetic NO, window 0x1000004,
   atom 0x107 (WM_STATE), time 4634219, state PropertyNewValue

PropertyNotify event, serial 13, synthetic NO, window 0x1000004,
   atom 0x12e (_NET_WM_STATE), time 4634219, state PropertyDelete

PropertyNotify event, serial 13, synthetic NO, window 0x1000004,
   atom 0x128 (_NET_WM_DESKTOP), time 4634219, state PropertyDelete

ReparentNotify event, serial 13, synthetic NO, window 0x1000004,
   event 0x1000004, window 0x1000004, parent 0x10e,
   (816,384), override NO

UnmapNotify event, serial 13, synthetic NO, window 0x1000004,
   event 0x1000004, window 0x1000006, from_configure NO

ReparentNotify event, serial 13, synthetic NO, window 0x1000004,
   event 0x1000004, window 0x1000006, parent 0x100001d,
   (0,0), override NO

===

Then back to normal-screen:

ReparentNotify event, serial 16, synthetic NO, window 0x1000004,
   event 0x1000004, window 0x1000006, parent 0x1000004,
   (0,0), override NO

MapNotify event, serial 16, synthetic NO, window 0x1000004,
   event 0x1000004, window 0x1000006, override NO

ReparentNotify event, serial 16, synthetic NO, window 0x1000004,
   event 0x1000004, window 0x1000004, parent 0x40008f,
   (0,0), override NO

ConfigureNotify event, serial 16, synthetic YES, window 0x1000004,
   event 0x1000004, window 0x1000004, (816,384), width 512, height 288,
   border_width 0, above 0x40008e, override NO

PropertyNotify event, serial 16, synthetic NO, window 0x1000004,
   atom 0x12e (_NET_WM_STATE), time 4664522, state PropertyNewValue

PropertyNotify event, serial 16, synthetic NO, window 0x1000004,
   atom 0x128 (_NET_WM_DESKTOP), time 4664522, state PropertyNewValue

PropertyNotify event, serial 16, synthetic NO, window 0x1000004,
atom 0x177 (_NET_WM_ALLOWED_ACTIONS), time 4664522, state PropertyNewValue

PropertyNotify event, serial 17, synthetic NO, window 0x1000004,
atom 0x176 (_KDE_NET_WM_FRAME_STRUT), time 4664523, state PropertyNewValue

PropertyNotify event, serial 17, synthetic NO, window 0x1000004,
   atom 0x125 (_NET_FRAME_EXTENTS), time 4664523, state PropertyNewValue

PropertyNotify event, serial 19, synthetic NO, window 0x1000004,
   atom 0x17c (_WIN_STATE), time 4664524, state PropertyNewValue

PropertyNotify event, serial 19, synthetic NO, window 0x1000004,
   atom 0x17b (_WIN_LAYER), time 4664524, state PropertyNewValue

PropertyNotify event, serial 19, synthetic NO, window 0x1000004,
   atom 0x17e (_WIN_WORKSPACE), time 4664524, state PropertyNewValue

ConfigureNotify event, serial 19, synthetic YES, window 0x1000004,
   event 0x1000004, window 0x1000004, (816,384), width 512, height 288,
   border_width 0, above 0x40008e, override NO

MapNotify event, serial 22, synthetic NO, window 0x1000004,
   event 0x1000004, window 0x1000004, override NO

VisibilityNotify event, serial 22, synthetic NO, window 0x1000004,
   state VisibilityUnobscured

PropertyNotify event, serial 22, synthetic NO, window 0x1000004,
   atom 0x107 (WM_STATE), time 4664525, state PropertyNewValue

FocusIn event, serial 22, synthetic NO, window 0x1000004,
   mode NotifyWhileGrabbed, detail NotifyNonlinear

KeymapNotify event, serial 22, synthetic NO, window 0x0,
keys: 4 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ConfigureNotify event, serial 22, synthetic NO, window 0x1000004,
   event 0x1000004, window 0x1000006, (0,0), width 512, height 288,
   border_width 0, above 0x0, override NO

FocusIn event, serial 22, synthetic NO, window 0x1000004,
   mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 22, synthetic NO, window 0x0,
keys: 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
==

From debugging, I can see that indeed the focus is being assigned to the VLC normal-mode window; seems like it grabs the focus somehow:

[fvwm][Echo]: destroy window 0x100001d
[fvwm][Echo]: add window 0x1000004
[fvwm][Echo]: window_name 0x1000004
[fvwm][Echo]: raise window 0x1000004
[fvwm][Echo]: res_class 0x1000004
[fvwm][Echo]: res_name 0x1000004
[fvwm][Echo]: enter window 0x60005f
[fvwm][Echo]: focus change 0x1000004

where:

0x100001d: VLC full-screen window
0x1000004: VLC normal-screen window
0x60005f: flashplayer window (background)

==


Regards,

Zoilo.


Reply via email to