Was ist der Unterschied zwischen den X-Zwischenablagen?

7
  • Primär
  • Sekundär
  • Zwischenablage
  • Puffer schneiden

Was ist der Unterschied zwischen diesen?

Experimentieren mit xclip und gedit:

Primär einstellen

Soweit ich das beurteilen kann, passiert nichts

Sekundär einstellen

Auch hier hat, soweit ich das beurteilen kann, keinen Einfluss auf gedit

Zwischenablage einstellen

pasteim Bearbeitungs- und Kontextmenü ist deaktiviert, aber durch Drücken control-vwird der Text eingefügt, den ich einfügen möchte.

Kopieren in gedit

Scheint zu setzen primaryundclipboard

Wofür wird jeder verwendet? Wie wird normalerweise in Programmen darauf zugegriffen? Wie ist es implementiert? Sind sie Eigenschaften im Stammfenster (wenn ja, wie heißen sie)?

Puffer schneiden

Ich verstehe, dass Clip-Puffer in xterm verwendet werden, wenn Sie Text auswählen, und eingefügt werden, wenn Sie mit der mittleren Maustaste klicken. Verwenden andere Programme Schnittpuffer?

Jeffrey Aylesworth
quelle

Antworten:

7

X Auswahl, Puffer ausschneiden und Ringe töten

Zwischenablage: Wenn der Benutzer etwas explizit kopiert hat (z. B. den Menüpunkt "Bearbeiten / Kopieren").
Primär: kurzlebiger und impliziter: Dies ist der Fall, wenn der Benutzer etwas hervorgehoben oder ausgewählt hat (z. B. Ziehen der Maus darüber etwas Text.)
Puffer schneiden: Veraltet. Verwenden Sie sie niemals, niemals. Je.

Sekundär? In ICCCCCCCM definiert, aber ich habe kein einziges Programm gefunden, das es verwendet.


Der Wikipedia-Artikel über die Auswahl von X-Fenstern besagt, dass nur ausgeschnittene Puffer Fenstereigenschaften des Stammfensters sind, benannt CUT_BUFFER1und so weiter.

user1686
quelle
3

X nennt sie "Auswahl" und nicht "Zwischenablagen". Aus Wikipedia (der ganze Artikel wird Ihnen wahrscheinlich auch helfen):

Auf der Ebene des Kernprotokolls unterscheiden sich die Auswahlmöglichkeiten PRIMARY und CLIPBOARD nicht. Durch den xclipboard-Client verhalten sie sich jedoch anders. Insbesondere wenn ein anderer Client den Besitz der CLIPBOARD-Auswahl bestätigt, fordert dieses Programm diese an und zeigt sie in einem Fenster an. Jede weitere Anfrage für diese Auswahl wird von xclipboard bearbeitet. Auf diese Weise überlebt der Inhalt der Auswahl den Client, der ihn kopiert hat.

Es gibt keinen inhärenten Unterschied zwischen ihnen, der einzige Unterschied besteht im Verhalten der Anwendungen, die sie verwenden. Sie könnten beispielsweise ein Programm schreiben, das beim Drücken ctrl vdie primäre Auswahl anstelle der Zwischenablage verwendet und vom technischen Standpunkt aus vollkommen in Ordnung ist. Der Unterschied ist sozial, da Benutzer ein bestimmtes Verhalten erwarten und es klug ist, dem die meiste Zeit zu folgen.

Ich dachte, die Auswahl von Text und das Klicken mit der mittleren Maustaste zum Einfügen erfolgt über die primäre Auswahl, anstatt Puffer (die veraltet sind) auszuschneiden, aber ich könnte mich irren, da ich nie direkt gegen das X-Protokoll codiert habe.


quelle