far2l icon indicating copy to clipboard operation
far2l copied to clipboard

"Exclusively handle hotkeys" feature not working under Wayland/xwayland

Open unxed opened this issue 8 months ago • 6 comments

  1. Install Ubuntu 25.04 (I used QEMU and Mint's default virt-manager)
  2. Install far2l by sudo apt install far2l
  3. Run far2l, GUI version
  4. Turn "Exclusively handle hotkeys" feature on for all key combinations
  5. Save settings
  6. Exit far2l
  7. Run far2l once again (try with and without --x11 switch)
  8. Press Alt+F2. It will be intercepted by system
  9. Close far2l, log out
  10. Log in to x11 session
  11. Try once again. Alt+F2 will work in far2l as expected

unxed avatar Apr 23 '25 17:04 unxed

Probably related: #2041

Wayland security model does not allow any app to "listen" keystrokes that belong to other windows

unxed avatar Apr 23 '25 19:04 unxed

Раз эксклюзивный захват клавиш far2l умеет только под истинными x11, то может это хотя бы в помощи по F1 описать? А также, если детектим жизнь в wayland / xwayland (если это точно однозначно детектируется без ошибок), то соответствующие пункты в настройках делать серыми?

akruphi avatar Apr 24 '25 16:04 akruphi

Под истинными x11

— это я потестил немного, и понял, что захват работает только в X11 сессии, а в Wayland сессии не работает, независимо от того, через XWayland фар работает или напрямую через Wayland API. Выше пишу о возможной причине

unxed avatar Apr 25 '25 14:04 unxed

Здокументировал в помощи, что работает только под X11: https://github.com/elfmz/far2l/pull/2713

akruphi avatar Apr 26 '25 09:04 akruphi

Здорово! Там по-моему можно и в интерфейсе это указать прям, чтоб не смущать людей

unxed avatar Apr 26 '25 12:04 unxed

Здорово! Там по-моему можно и в интерфейсе это указать прям, чтоб не смущать людей

Ну в текст диалога пока не соображу как кратко мысль запихнуть.

Может имеет смысл глобально когда под wayland признак supported_tweaks & TWEAK_STATUS_SUPPORT_EXCLUSIVE_KEYS не выставлять или логичнее модифицировать ExclusiveHotkeys::Available() ? Но в WinPort/src/Backend/WX/ExclusiveHotkeys.cpp я ничего не понимаю и залезать опасаюсь.

akruphi avatar Apr 26 '25 14:04 akruphi