net/freerdp: add workaround for focus bug of WM
Some WMs (for example fvwm and fluxbox) intermittently steal focus during attempts to drag something with the mouse on the remote machine, effectively making it impossible to drag. This behavior seems to also depend on the configuration of the WM. Add an optional patch to work around this problem, activated by the new option BROKENFOCUS. Note that this workaround may lead to a wrong state of keyboard modifiers after focus changes, so only enable if if you really need to. PR: 254908 Approved by: VVD <vvd@unislabs.com> (maintainer)
This commit is contained in:
parent
e858b5d6ba
commit
ce0e0139a4
2 changed files with 16 additions and 2 deletions
|
@ -39,8 +39,9 @@ CMAKE_OFF= WITH_DSP_EXPERIMENTAL WITH_GPROF WITH_GSTREAMER_0_10 WITH_IPP \
|
|||
CMAKE_ARGS_aarch64+= -DWITH_NEON=ON
|
||||
CFLAGS_aarch64+= -D__ARM_NEON__=__ARM_NEON # clang
|
||||
|
||||
OPTIONS_DEFINE= ALSA CUPS FAAC FAAD FFMPEG GSM GSTREAMER ICU JPEG KERBEROS \
|
||||
LAME MANPAGES OPENH264 PCSC PULSEAUDIO SOXR WAYLAND X11
|
||||
OPTIONS_DEFINE= ALSA BROKENFOCUS CUPS FAAC FAAD FFMPEG GSM GSTREAMER \
|
||||
ICU JPEG KERBEROS LAME MANPAGES OPENH264 PCSC \
|
||||
PULSEAUDIO SOXR WAYLAND X11
|
||||
OPTIONS_DEFAULT= CUPS GSTREAMER ICU KERBEROS MANPAGES SWSCALE WAYLAND X11
|
||||
OPTIONS_RADIO= SCALE
|
||||
OPTIONS_RADIO_SCALE= CAIRO SWSCALE
|
||||
|
@ -55,6 +56,9 @@ OPTIONS_DEFAULT_amd64= SSE
|
|||
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
|
||||
ALSA_CMAKE_BOOL= WITH_ALSA
|
||||
|
||||
BROKENFOCUS_DESC= Work around focus bug in some WMs (PR \#254908)
|
||||
BROKENFOCUS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-focusbug.diff
|
||||
|
||||
CAIRO_DESC= Use CAIRO image library for screen resizing
|
||||
CAIRO_LIB_DEPENDS= libcairo.so:graphics/cairo
|
||||
CAIRO_CMAKE_BOOL= WITH_CAIRO
|
||||
|
|
10
net/freerdp/files/extra-patch-focusbug.diff
Normal file
10
net/freerdp/files/extra-patch-focusbug.diff
Normal file
|
@ -0,0 +1,10 @@
|
|||
--- client/X11/xf_keyboard.c.orig 2021-09-02 06:23:36 UTC
|
||||
+++ client/X11/xf_keyboard.c
|
||||
@@ -183,7 +183,6 @@ void xf_keyboard_release_all_keypress(xfContext* xfc)
|
||||
xfc->KeyboardState[keycode] = FALSE;
|
||||
}
|
||||
}
|
||||
- xf_sync_kbd_state(xfc);
|
||||
}
|
||||
|
||||
BOOL xf_keyboard_key_pressed(xfContext* xfc, KeySym keysym)
|
Loading…
Reference in a new issue