Zwischenablage
Die Zwischenablage (englisch Clipboard) ist ein Puffer, also ein Zwischenspeicher, für das kurzzeitige Speichern und Übertragen von Daten. Dieses Verfahren wird meist nur auf einem Computer zwischen Dokumenten oder Programmen angewandt. Betriebssysteme benutzen für die Interaktion mit der Zwischenablage die Technik Kopieren und Einfügen (Copy and Paste). Die meisten Programme greifen auf deren Schnittstellen für die Zwischenablage zu, wenn sie auf eine festgelegte Benutzereingabe, wie eine Tastenkombination oder eine Menüauswahl, reagieren.<ref>Focus Online: Zwischenablage. In: Focus Online. (focus.de [abgerufen am 9. Oktober 2018]).</ref> Ein Element in der Zwischenablage kann in verschiedenen Formaten vorgehalten werden. Jedes Programm bestimmt dabei, in welchen Variationen die Daten gespeichert werden. Das ist nützlich, da zum Zeitpunkt des Speicherns keine Rückschlüsse auf das Zielprogramm gezogen werden können.<ref>Microsoft: Clipboard Operations. Abgerufen am 9. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
Windows, Linux und MacOS nutzen für die Zwischenablage den Arbeitsspeicher und können standardmäßig nicht mehrere Elemente zwischenspeichern, da sie jeweils den vorherigen Inhalt überschreiben. Das Objekt in der Zwischenablage wird nach dem Einfügen nicht gelöscht, sondern weiter vorgehalten. Ein Neustart oder Ausschalten des Systems leert aber dennoch den Arbeitsspeicher und somit auch das gespeicherte Objekt. Die Verfahrensweise der Zwischenablage kann dabei zwischen Betriebssystemen und ihren Versionen variieren. Die Kernfunktionen der Zwischenablage können zudem durch Clipboard-Manager und Einstellungen verändert oder erweitert werden.<ref>Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2</ref>
Die Interaktionstechnik Drag and Drop benutzt die Zwischenablage dagegen nicht, obwohl die Funktionalität Ähnlichkeiten mit der von Kopieren und Einfügen aufweist.<ref>dotnet-bot: Übersicht über Drag & Drop. Abgerufen am 9. Oktober 2018.</ref>
Geschichte
Eine erste Form der Zwischenablage wurde von Pentti Kanerva im Texteditor TVEDIT implementiert.<ref name=":2" /> Die Software nutzte einen Zwischenspeicher für das Ausschneiden von Texten. Der Nutzer musste erst Zeichen auswählen und danach löschen. Danach konnte er diese an einer bestimmten Stelle wiederherstellen.<ref name=":2">Larry Tesler: A personal history of modeless text editing and cut/copy-paste. In: Interactions. Band 19, Nr. 4, 1. Juli 2012, ISSN 1072-5520, S. 70–75, doi:10.1145/2212877.2212896.</ref>
Seitdem ein Text an einer Stelle gelöscht und an einer anderen Stelle wieder eingefügt werden konnte, entspricht der Begriff „Löschen“ in diesem Zusammenhang nicht mehr der eigentlichen Bedeutung des Wortes. Larry Tesler benannte das Szenario deswegen 1973 in Ausschneiden, Kopieren, Einfügen (englisch cut, copy and paste) um. Außerdem definierte er den Begriff „clipboard“, was wörtlich übersetzt „Klemmbrett“ heißt, als Zwischenspeicher für diese Interaktionstechnik.<ref>Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig A User Experience Retrospective.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)). Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Tesler war gleichzeitig auch einer der Entwickler des ersten PCs namens Apple Lisa, der diese Technologie ab Werk unterstützte.<ref>Larry Tesler: THE LEGACY OF THE LISA. MacWorld, September 1985.</ref>
Datenformate
Die Zwischenablage unterstützt das Speichern von mehreren Typen des Datenobjekts zur selben Zeit, sodass komplexe Datenstrukturen ebenso abgelegt werden können. Diese reichen von Textformaten mittels Auszeichnungssprache, wie zum Beispiel RTF oder HTML, über eine Vielfalt von Bitmaps und Vektorgrafiken bis hin zu komplexen Varianten, wie Dateien und Verzeichnisse, Tabellen und Einträgen in Datenbanken. Das Ausschneiden von mehreren Zellen einer Tabelle und das darauffolgende Einfügen in eine andere Tabelle könnte beispielsweise die zugrunde liegenden Formeln, Datensätze und sogar automatische Übersetzungen der Referenzen innerhalb einer Zelle mit einfließen lassen. Das würde zum Beispiel dazu führen, dass nach einem Kopieren und Einfügen von Zellen, die von einer Summenfunktion benutzt werden, ein Programm den Inhalt dieser Funktion mit den neuen Referenzen aktualisiert.
Ein Programm kann Daten in vielen verschiedenen Formaten der Zwischenablage hinzufügen. Das können native, einfachere oder häufigere Datenformate sein, die eine höhere Chance haben, von unterschiedlichsten Programmen erkannt zu werden. Deshalb kann das Zielprogramm beim Einfügen der Zwischenablage das Format wählen, das am ehesten dem des Programmes entspricht, sodass nach Möglichkeit alle Originaldaten vorhanden bleiben.
| Titel der englischen Version dieses Artikels (in Mozilla Firefox) | Python Script im Ordner downloads | Klemmbrett-Piktogramm der englischen Version dieses Artikels | |
|---|---|---|---|
| available formats in clipboard | 'TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'text/html', 'text/_moz_htmlcontext', 'text/_moz_htmlinfo', 'text/plain', 'COMPOUND_TEXT', 'text/x-moz-url-priv' | 'TIMESTAMP', 'TARGETS', 'MULTIPLE', 'x-special/gnome-copied-files', 'text/uri-list', 'text/plain', 'COMPOUND_TEXT', 'text/plain;charset=utf-8' | 'TIMESTAMP', 'TARGETS', 'MULTIPLE', 'SAVE_TARGETS', 'text/html', 'text/_moz_htmlinfo', 'text/_moz_htmlcontext', 'image/png', 'image/tiff', 'image/x-icon', 'image/x-ico', 'image/x-win-bitmap', 'image/jpeg', 'image/bmp', 'image/x-bmp', 'image/x-MS-bmp', 'application/x-qt-image' |
| TIMESTAMP | '\xdb\xdb\n\x00' | @\x07\x0f\x00 | '\xb0$\x1e\x00' |
| TARGETS | '\xb1\x01\x00\x00\xaf\x01\x00\x00\xb0\x01\x00\x00\xc6\x01\x00
\x00)\x02\x00\x00*\x02\x00\x00+\x02\x0 […] |
'\xb1\x01\x00\x00\xaf\x01\x00\x00\xb0\x01\x00\x007\x02\x00
\x008\x02\x00\x00\x13\x01\x00\x00\xd7\x01 […] |
'\xb1\x01\x00\x00\xaf\x01\x00\x00\xb0\x01\x00\x00\xc6
\x01\x00\x00)\x02\x00\x00+\x02\x00\x00*\x02\x0 […] |
| MULTIPLE | [empty] | [empty] | [empty] |
| SAVE TARGETS | [empty] | - | [empty] |
| text/html | '\xff\xfe<\x00h\x001\x00 \x00i\x00d\x00=\x00"\x00f\x00i\x00r\x00s
\x00t\x00H\x00e\x00a\x00d\x00i\x00 […] |
'\xff\xfe<\x00i\x00m\x00g\x00 \x00a\x00l\x00t\x00=\x00"
\x00"\x00 \x00s\x00r\x00c\x00=\x00"\x00h\x00 […] | |
| text/_moz_htmlcontext | '<\x00h\x00t\x00m\x00l\x00 \x00c\x00l\x00a\x00s\x00s\x00=\x00"
\x00c\x00l\x00i\x00e\x00n\x00t\x00-\x […] |
[empty] | |
| text/_moz_htmlinfo | '0\x00,\x000\x00' | '0\x00,\x000\x00' | |
| text/plain | 'Clipboard (computing)' | '/home/user/Downloads/show_clipboard.py' | - |
| COMPOUND_TEXT | 'Clipboard (computing)' | '/home/user/Downloads/show_clipboard.py' | |
| text/x-moz-url-priv | 'h\x00t\x00t\x00p\x00s\x00:\x00/\x00/\x00e\x00n\x00.\x00w\x00i\x00k
\x00i\x00p\x00e\x00d\x00i\x00a\x […] |
- | |
| x-special/gnome-copied-files | - | 'copy\nfile:///home/user/downloads/show_clipboard.py'// | |
| text/uri-list | 'file:///home/user/downloads/show_clipboard.py\r\n'// | ||
| text/plain;charset=utf-8 | '/home/user/Downloads/show_clipboard.py' | ||
| image/png | - | '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\xdc
\x00\x00\x00\xf4\x08\x06\x00\x00\x00\xf0\xa5H\x […] | |
| image/tiff | [empty] | ||
| image/x-icon, image/x-ico, image/x-win-bitmap | '\x00\x00\x01\x00\x01\x00\xdc\xf4\x00\x00\x01\x00 \x00
\x98a\x03\x00\x16\x00\x00\x00(\x00\x00\x00\xd […] | ||
| image/jpeg | '\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00
\x01\x00\x00\xff\xdb\x00C\x00\x08\x06\x06\ […] | ||
| image/bmp, image/x-bmp, image/x-MS-bmp | 'BMFu\x02\x00\x00\x00\x00\x006\x00\x00\x00(\x00\x00\x00
\xdc\x00\x00\x00\xf4\x00\x00\x00\x01\x00\x18 […] | ||
| application/x-qt-image | '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\xdc\x00
\x00\x00\xf4\x08\x06\x00\x00\x00\xf0\xa5H\x […] |
Sicherheit
Das Hijacking der Zwischenablage ist ein Angriff, der den Inhalt der Zwischenablage gegen einen bösartigen Inhalt wie eine mit Viren behaftete Webseite austauscht.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig What is clipboard hijack attack? – Definition from WhatIs.com.] In: WhatIs.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Während einige Sicherheitslücken geschlossen wurden, kann über JavaScript und damit über jede Webseite das sogenannte „pastejacking“ weiterverwendet werden.<ref>Pastejacking im Browser: Codeausführung per Copy and Paste. Golem.de, abgerufen am 10. Oktober 2018.</ref> Dylan Ayrey fand diese Lücke und stellt eine Webseite bereit, die zeigen soll, dass das System Aktionen ausführt, die der Nutzer gar nicht beabsichtigt.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig github.com/dxa4481/Pastejacking.] In: GitHub. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
2013 entdeckten Forscher ein Sicherheitsrisiko von Applikationen zur Passwortverwaltung auf Android-Geräten. Sie fanden heraus, dass bei 21 der beliebtesten dieser Apps Passwörter ausgelesen werden können. Das geschieht durch die Verwendung eines anderen Programmes und den Zugriff auf die Zwischenablage.<ref>Sascha Fahl, Marian Harbach, Marten Oltrogge, Thomas Muders, Matthew Smith: Hey, You, Get Off of My Clipboard. In: Financial Cryptography and Data Security. Springer Berlin Heidelberg, Berlin, Heidelberg 2013, ISBN 978-3-642-39883-4, S. 144–161, doi:10.1007/978-3-642-39884-1_12.</ref> Joe Siegrist sagte, dass dieser Angriff alle Programme des Betriebssystems Android betrifft.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Using a password manager on Android? It may be wide open to sniffing attacks.] Ars Technica, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Das Fraunhofer-Institut SIT fand 2016 nochmals eine ähnliche Sicherheitslücke, die es ebenfalls ermöglichte, Passwörter aus der Zwischenablage zu stehlen.<ref>heise online: Android: Passwort-Manager mit Sicherheitslücken. Abgerufen am 9. Oktober 2018.</ref>
Zwischenablagen der Betriebssysteme
Skriptfehler: Ein solches Modul „Vorlage:Siehe auch“ ist nicht vorhanden.
Windows
Die Zwischenablage in Windows speichert einen Eintrag in 3 verschiedenen Formaten. Jeder Eintrag liegt in mindestens einem dieser Formate vor.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Clipboard Formats (Windows).] In: msdn.microsoft.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
- Standardformate von Windows<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Standard Clipboard Formats (Windows).] In: msdn.microsoft.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> (z. B. CF_BITMAP, oder CF_UNICODETEXT),
- Registrierte Formate, die durch Programmen hinzugefügt werden<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig HTML Clipboard Format (Internet Explorer).] In: msdn.microsoft.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> (z. B. CF_HTML)
- Interne Formate von Programmen oder des Systems
Windows unterstützt außerdem das verzögerte Erstellen (englisch delayed rendering) der Formate eines zwischengespeicherten Datenobjekts. Das bedeutet, dass das Programm nur bei Bedarf ein Format generiert und in die Zwischenablage verschiebt. Falls also ein Programm zeitaufwändige Prozesse benötigt, um die Daten in ein spezielles Format aufzubereiten, können die lang andauernden Rechenoperationen mit dieser Funktionalität umgangen werden.<ref>Microsoft: Clipboard Operations. Abgerufen am 9. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
Bis einschließlich Windows XP kann auf die Zwischenablage mit Hilfe von clipbrd.exe zugegriffen werden. Dieses Programm erlaubt es dem Nutzer, die aktuelle Zwischenablage in einer CLP-Datei abzuspeichern. Darauf kann die Datei entweder im eigenen System oder per Übertragung innerhalb eines anderen Windowscomputer verwendet werden. Indem die CLP mittels clipbrd.exe in die Zwischenablage importiert wird, kann der Anwender den Inhalt an den gewünschten Ort des Zielsystems einfügen. Das ist nützlich, da die verschiedenen Formate gespeichert werden und somit auch für andere Nutzer eine funktionierende Variante bereithält.<ref>Funktionen von CLIPBRD.EXE. In: PCWelt. Abgerufen am 9. Oktober 2018.</ref>
Mit Windows 10 1809 erweiterte Microsoft die Möglichkeiten der Zwischenablage deutlich. Die Zwischenablage erhält einen Verlauf, der es ermöglicht, mehrere Objekte oder Textpassagen in die Zwischenablage zu übernehmen. Aus dem Verlauf kann dann beim Einfügen das gewünschte Objekte ausgewählt werden. Zusätzlich kann der Verlauf der Zwischenablage mit der Cloud (automatisch oder manuell) synchronisiert werden.<ref>Zwischenablage Synchronisation aktivieren deaktivieren oder löschen Windows 10 Deskmodder Wiki. Abgerufen am 3. Oktober 2018.</ref>
Außerdem ist die Zwischenablage über PowerShell erreichbar:<ref>Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Get-Clipboard (Microsoft.PowerShell.Management).] In: docs.microsoft.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Set-Clipboard (Microsoft.PowerShell.Management).] In: docs.microsoft.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> <syntaxhighlight lang="powershell">
- Um den Inhalt eines Ordners in die Zwischenablage einzufügen.
Set-Clipboard -Path "C:\directory\"
- Um den Inhalt der Ablage zu erlangen.
Get-Clipboard </syntaxhighlight> Daten können auch über die Eingabeaufforderung gespeichert werden:<ref>Windowspage – Clip – Ausgabe von Befehlszeilenprogramme in die Zwischenablage kopieren. Abgerufen am 9. Oktober 2018.</ref> <syntaxhighlight lang="console"> $ # Um den Inhalt eines Ordners in die Zwischenablage zu speichern. $ dir | clip </syntaxhighlight>
macOS
Auch macOS speichert einen Eintrag in verschiedenen Formaten in die Zwischenablage.
Dessen Inhalt kann über das Menü der Schaltfläche Bearbeiten des Finders und die Auswahl des Eintrags „Zwischenablage einblenden“ angezeigt werden. Außerdem kann die Zwischenablage geräteübergreifend mit derselben Apple-ID benutzt werden, solange sie WLAN, Bluetooth und Handoff aktiviert haben. So kann ein kopierter Text auf einem Gerät, auf einem Zweiten eingefügt werden.<ref>macOS Sierra: Geräteübergreifendes Kopieren und Einsetzen. Abgerufen am 9. Oktober 2018.</ref>
Mit Hilfe folgender Kommandos kann die Zwischenablage benutzt werden:<ref>using terminal to copy a file to clipboard. Abgerufen am 9. Oktober 2018.</ref> <syntaxhighlight lang="console"> $ # Um Daten in die Zwischenablage zu kopieren. $ echo 'hello world' | pbcopy $ # Um aus dem Clipboard heraus einzufügen. $ pbpaste hello world </syntaxhighlight>
X Window System
Das X Window System, das vorwiegend in Unix oder Linux basierten Betriebssystemen eingesetzt wird, stellt drei Zwischenablagen namens „PRIMARY“, „SECONDARY“ und „CLIPBOARD“ bereit.<ref>Zwischenablage › Wiki › ubuntuusers.de. Abgerufen am 9. Oktober 2018.</ref>
Die Interaktion mit diesen ist nicht standardisiert. Dennoch benutzen die meisten modernen Bibliotheken und Desktopumgebungen, wie GNOME oder KDE, eine weit verbreitete Konvention, die durch freedesktop.org spezifiziert wurde.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig clipboards-spec.] freedesktop.org, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 16. August 2014 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
„CLIPBOARD“ wird identisch wie das Pendant aus Windows benutzt. Der Unterschied zu den bereits erwähnten Systemen ist, dass die Daten nicht extra in der Zwischenablage abgelegt werden, sondern nur deren Referenz. Das Programm übernimmt den Besitz der Selektion und kommuniziert das dem X Server. Sobald ein Einfügen erfolgt, wird das Datenobjekt und seine verfügbaren Formate vom Programm angefordert und abhängig davon eingefügt.<ref name=":0">X11: Wie funktioniert „das“ Clipboard? Abgerufen am 9. Oktober 2018.</ref>
„PRIMARY“ hingegen, ist ein X11 spezifischer Mechanismus. Das bedeutet, dass die Selektion direkt ein Kopieren der Daten zur Folge hat und über die dritte beziehungsweise mittlere Maustaste eingefügt wird. Dieser Prozess ist komplett unabhängig von der Variante „CLIPBOARD“ und verändert deshalb nicht dessen Inhalt.<ref name=":0" />
„SECONDARY“ wurde als Alternative zu „PRIMARY“ geplant, wird aber meist nicht verwendet.<ref name=":1">xclip › Wiki › ubuntuusers.de. Abgerufen am 9. Oktober 2018.</ref>
Zwei Kommandos ermöglichen den Zugriff auf das „CLIPBOARD“:<ref name=":1" /><ref>xsel › Wiki › ubuntuusers.de. Abgerufen am 9. Oktober 2018.</ref> <syntaxhighlight lang="console"> $ # Speichern mit Hilfe von xclip. $ echo text | xclip -in -selection clipboard $ # Speichern mit Hilfe von xsel. $ echo text | xsel --clipboard </syntaxhighlight> Auf der Linux-Konsole bietet GPM (General Purpose Mouse Manager) eine ähnliche Funktion, allerdings nur für Text. Das Einfügen erfolgt auf der Linuxkonsole mit der Rolltaste der Maus beziehungsweise der mittleren Maustaste.
AmigaOS
Das Betriebssystem AmigaOS verwendet 256 Einheiten für die Zwischenablage, sodass ein Nutzer mehrere Zwischenablagen zur gleichen Zeit nutzen kann. Diese werden in einem speziellen Speicherplatz aufbewahrt, der durch die AmigaDOS Zuweisung CLIPS: definiert ist.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Clipboard Device – AmigaOS Documentation Wiki.] In: wiki.amigaos.net. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 3. Februar 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Durch das Containerformat IFF können beliebige Datentypen in einer Zwischenablage gemischt werden.
Android
Android stellt ein Framework bereit, das ein Objekt zwischenspeichert und systemweit verfügbar macht. Während einfacher Text direkt gespeichert wird, werden komplexe Datenstrukturen als Referenz abgelegt. Das Objekt gehört zu einer von drei verschiedenen Arten:<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Copy and Paste – Android Developers.] In: developer.android.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
- Zeichenkette
- URI Objekt
- Intent
Der Inhalt des Clipboards kann nur durch Programme oder das System verwendet werden.
Entwickler können die Klasse ClipboardManager benutzen, um das Kopieren und Einfügen von Daten zu steuern.<ref>ClipboardManager – Android Developers. Abgerufen am 9. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
iOS
Die Zwischenablage in iOS hat den Namen „Pasteboard“ und hat eine ähnliche Funktionsweise wie das Pendant in macOS. Applikationen können weitere Pasteboards mit Hilfe von Instanzen der UIPasteboard Klasse erstellen. Diese können privat oder öffentlich gesetzt werden. Eine Instanz kann einen oder mehrere Einträge mit verschiedenen Formatierungen, die durch Uniform Type Identifiers<ref>Uniform Type Identifier Concepts. Abgerufen am 11. Mai 2023.</ref> festgelegt wurden, enthalten.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Pasteboard.] In: developer.apple.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Uniform Type Identifier.] In: developer.apple.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 6. Februar 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
Ähnlich zu Android können die Daten der Zwischenablage nicht über die GUI des Betriebssystems erreicht werden. Nur Programm und das System selbst können auf diese zugreifen.
APIs
Für viele Programmiersprachen gibt es Bibliotheken und APIs, die eine einfache Zugriffsmöglichkeit auf die Zwischenablage bereitstellen.
JavaScript
JavaScript stellt eine Schnittstelle über ein Event (ClipboardEvent) bereit, die ein Lesen und Setzen von Daten erlaubt.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Clipboard API and events – ClipboardEvent.] In: www.w3.org. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Clipboard API and events – Synchronous Clipboard API.] In: www.w3.org. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Das wird aber nicht von jedem Browser unterstützt, da eine Manipulation dieses Speichers ein Sicherheitsrisiko bedeuten kann.
Qt
Das Framework für plattformübergreifende Benutzerschnittstellen Qt wird unter anderem von Python und C++ benutzt. Qt enthält durch die Klasse QClipboard, eine Möglichkeit auf die verschiedenen Zwischenablagen Schnittstellen der Betriebssysteme zuzugreifen.<ref>QClipboard Class – Qt GUI 5.11. Abgerufen am 10. Oktober 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Dadurch können gewöhnliche Datentypen in der Zwischenablage über Funktionen erreicht werden. Jedes gespeicherte Element wird mittels MIME typisiert und kann somit ausgelesen sowie in einen bestimmten Datentyp gespeichert werden.
Erweiterungen der Zwischenablage
Skriptfehler: Ein solches Modul „Vorlage:Siehe auch“ ist nicht vorhanden.
Clipboard-Manager fügen zu der bereits integrierten Zwischenablage weitere Funktionen hinzu, sodass der Nutzer den Speicher verändern kann. Viele Programme dieser Art können mehrere Einträge zwischenspeichern und einfügen. Dabei kann der letzte Eintrag trotzdem wie üblich benutzt werden. Des Weiteren gibt es oft die Möglichkeit, den Verlauf der Speichereinträge zu sehen, zu selektieren, zu editieren, in andere Formate zu konvertieren und zu durchsuchen.
Da die meisten Betriebssysteme (Windows, macOS, Linux, X11, Android, iOS) den Inhalt der Zwischenablage nicht in den Festspeicher ablegen, wird dieser gelöscht, sobald sich der Nutzer abmeldet oder das System neustartet. Deswegen implementieren Clipboard-Manager sowie Programme wie der Texteditor Emacs häufig eine persistente Speicherung.
Weblinks
- 2. Peer-to-Peer Communication by Means of Selections (englisch) in the ICCCM
- Windows Dev Center: Transferring Shell Objects with Drag-and-Drop and the Clipboard (englisch)
- Microsoft Developer Network: How the Clipboard Works, Part 1 (englisch)
- Microsoft Developer Network: How the Clipboard Works, Part 2 (englisch)
- Ubuntu Users Wiki: Zwischenablage
Einzelnachweise
<references />