Wird die Umstellung auf Wayland das Problem beheben, dass Einfügen aus geschlossenen Fenstern nicht möglich ist?

Wird die Umstellung auf Wayland das Problem beheben, dass Einfügen aus geschlossenen Fenstern nicht möglich ist?

Ich habe vor kurzemLesen Sie, welche Schuld Xorg trägtfür dieberüchtigter Fehlerbei dem ein Benutzer nicht mehr aus einem Fenster kopieren und einfügen kann, nachdem er es geschlossen hat. Und ich weiß auch von der geplanten Umstellung aufWayland als Ersatz für X.

Wenn dieser Fehler auf X zurückzuführen ist und X durch Wayland ersetzt wird, ist es dann möglich, dass zu diesem Zeitpunkt ein Fix kommt? Ich bin gespannt, ob dies technisch möglich ist und ob dies derzeit geplant ist.

Antwort1

Nun, ich glaube nicht, dass es sich um einen Fehler als solchen handelt, es ist eher eine Funktion, die einige unbeabsichtigte Folgen hat :) Außerdem ist mein Verständnis, dass andere "Zwischenablage-Manager", d. h. inWindowsUndMac OS X, funktionieren auf sehr ähnliche Weise - wenn der Kopiervorgang ausgeführt wird, benachrichtigt die Anwendung lediglich den Zwischenablage-Manager - "hey, ich habe etwas", ohne die tatsächlichen Daten weiterzugeben (obwohl in den oben genannten Betriebssystemen eine Anwendungdürfenphysisch Daten in der Zwischenablage speichern - XWindow überlässt dies einem „Zwischenablage-Manager“, bei dem es sich um eine separate Anwendung handelt).

Der Grund dafür wird deutlich, wenn Sie bedenken, dass die kopierten Daten vor dem Einfügen häufig von einem Format in ein anderes konvertiert werden müssen. Beispiel: Sie kopieren einen Textrahmen aus einem Publishing-Programm und fügen ihn in dasselbe Programm ein – das Ergebnis behält die Größe des Textrahmens, Ränder, Transformationen usw. bei. Dann fügen Sie dasselbe in ein Textverarbeitungsprogramm ein – das Ergebnis ist ein Text mit umfangreicher Formatierung, aber die Eigenschaften des Textrahmens gehen offensichtlich verloren, da das Textverarbeitungsprogramm davon nichts weiß. Dann fügen Sie dasselbe in einen Texteditor ein – das Ergebnis ist einfacher Text ohne Formatierung.

Wie funktioniert das nun? Wie wird das proprietäre Datenformat des Veröffentlichungsprogramms in etwas umgewandelt, das der Textprozessor versteht, oder einfach in Klartext? Offensichtlich kann die Konvertierung nicht vom X-Server durchgeführt werden, da dieser nichts über alle möglichen Datenformate weiß.EmpfangAus demselben Grund kann die Anwendung die Konvertierung nicht durchführen.

Mein Verständnis des Vorgangs ist, dass die Anwendung beim Kopieren den Zwischenablage-Manager über die Formate informiert, in denen sie die Daten bereitstellen kann: „Hey, ich habe etwas, das ich in mein proprietäres Format, Rich Text oder Nur-Text, konvertieren kann.“

Andere Anwendungen prüfen dann, ob sich in der Zwischenablage etwas in einem für sie verständlichen Format befindet:

if (clipboad.contains_data_in_formats("image", "rich text", "plain text")) {
    enable_Paste_menu_item();
}

Wenn Sie dann die Aktion Einfügen auswählen, ist das Endergebnis, dass dieQuelleDie Anwendung wird aufgefordert, die Daten im erforderlichen Format bereitzustellen.

Wenn die Anwendung beendet wird,Der Standardsagt, dass es die Daten im Zwischenablage-Manager speichern kann:

If a client needs to exit while owning the CLIPBOARD selection, 
it should request the clipboard manager to take over the ownership 
of the clipboard, using the SAVE_TARGETS mechanism. If there is no 
clipboard manager, or if the SAVE_TARGETS conversion fails, the 
application should simply exit.

Nach meinem Verständnis liegt es in der Verantwortung der Anwendung, die Daten zu speichern. Daher ist es wahrscheinlich unwahrscheinlich, dass Wayland in dieser Hinsicht etwas verbessern wird :)

verwandte Informationen