Я столкнулся с тем, что я могу лучше всего описать как «непредсказуемое» поведение «буфера обмена». Но по-своему, это на самом деле «предсказуемо» , так как это не ошибка X , как таковая.
Во многом это связано с тем, что разные приложения X по-разному используют разные функции X
Но на самом деле это не помогает понять, что это не «на самом деле» ошибка. потому что он чувствует , как ошибка!
Ниже приведен список того, что я нашел / протестировал.
Есть ли какой-нибудь способ (демон?), Который разглаживает все эти морщины? Я бы предпочел что-то, что не сидит на панели.
Буфер обмена X / Ubuntu потенциально потрясающий из-за его способности 2/3 уровней, но немного раздражает из-за несовместимых реализаций ...
Я пытался понять, почему копирование / вставка не всегда делала то, что я ожидал ... Удивительно, что вы можете узнать, когда читаете информационные документы :) ... Но вопрос может поразить цель быстрее.
Основная проблема возникает, когда исходное приложение закрывается, и вы пытаетесь получить доступ к данным «буфера обмена», полученным из этого приложения.
Приложения X GUI имеют два основных метода копирования / вставки (режимы).
Mode NAME Text Copy method Text Paste method
---------- --------------------- -------------------
PRIMARY currently selected mouse middle-click
CLIPBOARD Control+C selection Control+V
Я проверил поведение режимов выбора для нескольких различных приложений X: gvim
, gedit
, firefox
, и gnome-terminal
.
NB: * Все вставки были сделаны в gedit
* Исходный код gedit был из другого (корневого) экземпляра.
* Я попробовал пару «менеджеров», parcelite
и pastie
, но я не вижу смысла сравнивать их, потому что ни один из них не обращается к проблема. То есть обычно ожидаемые действия клавиатуры копирования / вставки "противоречивы"
+ --------------------------------------------- + ------------------------------------------- + ------------
| Modes used in the source Application | Availability upon CLOSING the Applicaton | Application
+ --------------------------------------------- + ------------------------------------------- + ------------
| --- No manager ---
| PRIMARY only, no CLIPBOARD Copy/Cut used: | PRIMARY Empty! (previous)CLIPBOARD ok | (all tested)
| | -- |
| CLIPBOARD as last action (implicit PRIMARY): | PRIMARY Empty! CLIPBOARD Empty! | gvim
| | PRIMARY Empty! CLIPBOARD ok | gedit, gnome-terminal
| | PRIMARY Empty! CLIPBOARD Empty! | firefox
| | -- |
| PRIMARY as last action, preceded by CLIPBOARD | PRIMARY ok CLIPBOARD Empty! | gvim
| | PRIMARY Empty! CLIPBOARD ok | gedit, gnome-terminal
| | PRIMARY Empty! CLIPBOARD Empty! | firefox
| --- Manager: parcelite ---
| PRIMARY only, no CLIPBOARD Copy/Cut used: | PRIMARY ok (previous)CLIPBOARD ok | (all tested)
| | -- |
| CLIPBOARD as last action (implicit PRIMARY): | PRIMARY ok CLIPBOARD Empty! | gvim, firefox
| | PRIMARY ok CLIPBOARD ok | gedit, gnome-terminal
| | -- |
| PRIMARY as last action, preceded by CLIPBOARD | PRIMARY ok CLIPBOARD Empty! | gvim, firefox
| | PRIMARY ok CLIPBOARD ok | gedit, gnome-terminal
|
+ --------------------------------------------- + ------------------------------------------- + ------------