fvwm3 icon indicating copy to clipboard operation
fvwm3 copied to clipboard

Extra FocusIn/FocusOut events when trying to drag the mouse inside FreeRDP window

Open Zirias opened this issue 3 years ago • 0 comments

Upfront Information

  • Fvwm3 version (run: fvwm3 --version)
fvwm3 1.0.4 (released)
with support for:  ReadLine, XPM, PNG, SVG, Shape, XShm, SM, Bidi text, XRandR, XRender, XCursor, XFT, NLS
  • Linux distribution or BSD name/version FreeBSD 13.0-RELEASE-p4

  • Platform (run: uname -sp) FreeBSD amd64

Expected Behaviour

Dragging the mouse in the client area of FreeRDP should not cause focus events.

Actual Behaviour

Only in the presence of bindings to mouse button 1 on a window (context 'W'), there are FocusOut/FocusIn events when trying to drag the mouse inside FreeRDP. The events look like this in xev:

FocusOut event, serial 18, synthetic NO, window 0x4200001,
    mode NotifyUngrab, detail NotifyNonlinear

FocusIn event, serial 18, synthetic NO, window 0x4200001,
    mode NotifyUngrab, detail NotifyNonlinear

FocusOut event, serial 18, synthetic NO, window 0x4200001,
    mode NotifyGrab, detail NotifyNonlinear

FocusIn event, serial 18, synthetic NO, window 0x4200001,
    mode NotifyGrab, detail NotifyNonlinear

FocusOut event, serial 18, synthetic NO, window 0x4200001,
    mode NotifyUngrab, detail NotifyNonlinear

FocusIn event, serial 18, synthetic NO, window 0x4200001,
    mode NotifyUngrab, detail NotifyNonlinear

FocusOut event, serial 18, synthetic NO, window 0x4200001,
    mode NotifyGrab, detail NotifyNonlinear

FocusIn event, serial 18, synthetic NO, window 0x4200001,
    mode NotifyGrab, detail NotifyNonlinear

When I remove these bindings from my fvwm config:

Mouse 1 W M move-and-raise-or-raiselower
Mouse 1 W CM Module FvwmIdent

everything works as expected (xev -id <freerdp-window-id> -event focus doesn't see any events)

Enabling logging

No log messages are created when reproducing the behavior:

[1635504547.841970]  log opened (because of SIGUSR2)

Steps to Reproduce

  • Add a binding to mouse button 1 with context 'W' to your config, e.g. Mouse 1 W CM Module FvwmIdent
  • Log into a remote machine with FreeRDP
  • Try to drag a window on the remote machine
  • To see the extra events, use xev -id <freerdp-window-id> -event focus
  • This also happens on fvwm2

Extra Information

Related issue on FreeRDP: https://github.com/FreeRDP/FreeRDP/issues/6948

Zirias avatar Oct 29 '21 11:10 Zirias