far2l icon indicating copy to clipboard operation
far2l copied to clipboard

Clipboard problem in Wayland - doesn't copy clipboard content from Far2l into other applications

Open alexeyda opened this issue 1 year ago • 3 comments

I can copy clipboard content from applications info Far2L, but cannot copy from Far2L into another applications. It looks that the next screenshot is the source of the problem: image

My current configuration is: KDE Neon 22.04. Plasma 6.0.4 Wayland

Here is the printenv output from far2l: env.txt

image

Update: printenv with x11 settings: env-x11.txt Update2: I can copy clipboard content to Firefox 126.0 (64-bit), but not to Chrome (Version 125.0.6422.112 (Official Build) (64-bit)), nor to Telegram

Update3:

jank@creator:~/.config$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=cs_CZ.UTF-8
LC_TIME=cs_CZ.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=cs_CZ.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=cs_CZ.UTF-8
LC_NAME=cs_CZ.UTF-8
LC_ADDRESS=cs_CZ.UTF-8
LC_TELEPHONE=cs_CZ.UTF-8
LC_MEASUREMENT=cs_CZ.UTF-8
LC_IDENTIFICATION=cs_CZ.UTF-8
LC_ALL=

Update4: Скрин Far2L image

Update5

wx-config --version-full 3.0.5.0

alexeyda avatar May 26 '24 11:05 alexeyda

Not reproducing in plasma 6.0.5: https://t.me/far2l_ru/22365

unxed avatar Jun 01 '24 11:06 unxed

Not reproducing in plasma 6.0.5: https://t.me/far2l_ru/22365 The same (not correct) behaviour for me in Plasma 6.0.5

alexeyda avatar Jun 04 '24 08:06 alexeyda

Проблема, похоже, в том, что far2l в некоторых окружениях выставляет тип контента UTF8_STRING вместо text/plain;charset=utf-8:

изображение Источник: https://t.me/far2l_ru/22271

Ещё один пример: https://github.com/elfmz/far2l/pull/2070#issuecomment-2201112446

unxed avatar Jul 01 '24 22:07 unxed

Definitely an upstream issue:

https://github.com/wxWidgets/wxWidgets/issues/24701

unxed avatar Jul 13 '24 06:07 unxed

Всё ещё вылезает на некоторых системах, пишут. Изучаю

unxed avatar Jul 15 '24 05:07 unxed

Воспроизвёл. Ванильная Ubuntu 24.04 из образа с сайта — не воспроизводится. Ставим все обновления — начинает воспроизводиться: при попытке что-то скопировать-вставить из far2l в стандартный текстовый редактор — ничего не происходит, wl-paste показывает единственную строчку SAVE_TARGETS. При второй попытке — падение DE, перезагрузка.

unxed avatar Jul 15 '24 21:07 unxed

падает вроде изза wxTheClipboard->Flush();

elfmz avatar Jul 15 '24 21:07 elfmz

Я думаю можно его просто закоментить, это Flush никогда не делал то что от него ожидалось, а теперь он еще и шелл валит наглухо

elfmz avatar Jul 15 '24 22:07 elfmz

вот я как раз Flush дописал в конец OnClipboardSetData и падать перестало, всё заработало как надо

unxed avatar Jul 15 '24 22:07 unxed

да в конце OnClipboardSetData он не падает, но смысл в нем там? Flush() типа персистит состояние клипборада на текущий момент, а данные в клипборд реально заносятся в OnClipboardClose, и вот после этого Flush валит систему.

elfmz avatar Jul 15 '24 22:07 elfmz

Перепроверил. Да, если закомментить Flush всюду, всё тоже работает как надо.

unxed avatar Jul 15 '24 22:07 unxed

Да простой тестовый пример валит шелл на ура - https://pastecode.io/s/t4y4z2uf Если комунить не лень - мона открыть баг. Правда непонятно на кого - на wx, на gnome, на wayland или на всех сразу...

elfmz avatar Jul 15 '24 22:07 elfmz

Закинул в wx, там уже пусть разбираются, где оно сломано дальше по цепочке :)

https://github.com/wxWidgets/wxWidgets/issues/24707

unxed avatar Jul 15 '24 22:07 unxed

Чисто по поведению и глядя в код wxClipboard::Flush ( https://github.com/wxWidgets/wxWidgets/blob/master/src/gtk/clipbrd.cpp#L620 ) - думаю что проблема не в wx

elfmz avatar Jul 15 '24 22:07 elfmz

Проблема в mutter, похоже:

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4054

unxed avatar Sep 29 '24 18:09 unxed