xwindows / GTK Focus Bug

546
Joe DF

Wie schon viele, wurde dieser Fehler erst vor einigen Jahren bemerkt (~ 2010). Dieser Fehler tritt im Wesentlichen auf, wenn Sie auf eine Symbolleiste klicken und dann in einen anderen Bereich der Anwendung wechseln. Der Fensterfokus wird nicht ordnungsgemäß aktualisiert. Dies betrifft derzeit GIMP 2.8.22 (gelegentlich im Mehrfachfenster, häufig im Einzelfenstermodus) und Inkscape 0.92.2, wodurch sie praktisch unbrauchbar werden. Diese funktionierten einst sehr gut, aber jetzt neige ich dazu, sie zu vermeiden, wenn ich kann.

Ich habe viele Quellen durchsucht und alle führen zu nicht schlüssigen Fehlerberichten oder Berichten, dass ein Fix nicht in Vorbereitung ist.

Ich kenne dieses Problem. Gibt es eine Möglichkeit, Gimp unter OSX zu beheben, um das Xwindows-Fokusproblem zu lösen? Dies ist jedoch anders, da für diesen Fall der Einzelfenstermodus eine funktionierende Problemumgehung ist, aber er funktioniert.

Weitere Fehlerberichte:

Ich bin nicht sicher, ob dieses MS-Windows-spezifisch ist, aber ich kann diesen Fehler auf einigen Win7- und Win10-PCs bestätigen. In einem der Berichte scheinen jedoch auch einige Linux-Benutzer betroffen zu sein.

Kann jemand etwas Licht auf dieses werfen? Gibt es einen Fix oder eine Problemumgehung? Oder gibt es eine Theorie, warum dies geschieht?

Aktualisieren

Ich habe auf eine alte Version von Inkscape (v0.48.2) zurückgegriffen. Es funktioniert gut auf meinem Heim-Laptop (Win10) und Arbeits-Laptop (Win10). Kein Fensterfokus-Fehler. Es wird nur eine 32-Bit-Version angeboten ... könnte es etwas mit x64 sein? Das muss ich testen.

Update 2

Dies scheint in GIMP v2.9.8 (devel) behoben zu sein. https://www.gimp.org/downloads/devel/

2
Könnten Sie einige Links zu den gefundenen Fehlerberichten veröffentlichen? Ich bin nicht klar, was genau das Problem ist. Nattgew vor 7 Jahren 0
Es muss ein Windows-Problem sein. Ich verwende Gimp und Inkscape regelmäßig unter Linux und beide haben keine Probleme, die Sie beschrieben haben. theGtknerd vor 7 Jahren 0
@Nattgew aktualisiert. Joe DF vor 7 Jahren 0
@theGtknerd Ich dachte auch so, aber ich habe Berichte darüber gesehen, dass dies auch unter Linux passiert. Ich habe irgendwo gelesen, dass GTK davon weiß, aber es nicht reparieren wird. Dieser Fehler tritt nur auf einigen Windows-Computern auf (also nicht Windows-spezifisch, sondern etwas anderes). Joe DF vor 7 Jahren 0
Entschuldigung, ich hätte genauer sein sollen. Ich benutze Linux Mint. Ich sehe keine Fehlerberichte, die Linux Mint als Betriebssystem haben. Als Nebenbemerkung interessierte sich Linux Ubuntu einige Jahre lang nicht für Gtk. Und Windows könnte es nicht weniger interessieren, wenn Gtk verschwindet. Sie sind also der Open-Source-Community (und sich selbst) etwas ausgeliefert. theGtknerd vor 7 Jahren 0
@ theGtknerd user "jabot" sagt linux mint 9: https://www.flickr.com/groups/48637250@N00/discuss/72157624568543780/72157624569839792 Ich habe ein Mac-, Linux- und Windows-System. Ich interessiere mich für GTK, und das spiegelt sich schlecht wider ... Dies ist kein betriebssystemspezifischer Fehler, entweder etwas mit Grafik oder einigen Konfigurationsproblemen :( Joe DF vor 7 Jahren 0
Können Sie mir die Schritte erklären, um dieses Verhalten auf Ihrer Linux-Box zu erzeugen? Welche Linux-Distribution (nicht, dass es darauf ankommt)? theGtknerd vor 7 Jahren 0
@ theGtknerd Ich habe mein Linux-System momentan nicht bei mir und habe es noch nicht getestet. Ich bin mir ziemlich sicher, dass dies nicht spezifisch ist. Ich kann dieses Problem nicht reproduzieren, es ist entweder da oder nicht. Ich kann jedoch sagen, direkt nach der Installation von inkscape auf dem win10-PC, hat es bis zum nächsten Neustart gut funktioniert ... Joe DF vor 7 Jahren 0
Was bedeutet "dann in einen anderen Bereich der Anwendung" in Bezug auf Benutzerinteraktionen? Michael Schumacher vor 6 Jahren 0
@MichaelSchumacher zB. Zeichnungsbereich Joe DF vor 6 Jahren 0
Auf den Windows-Plattformen gibt es ein Problem mit GTK + - eine bewusste Entscheidung -, die die Ereignisbehandlung beeinträchtigt: https://bugzilla.gnome.org/show_bug.cgi?id=780979. Wenn Sie eine Anwendung mit transparenten (dh unsichtbaren) Vollbildfenstern haben, sehen Sie dies möglicherweise. Dies ist wahrscheinlich auch die Ursache für einige der Themen, die Sie verlinkt haben, aber diese Liste ist sehr unterschiedlich. Michael Schumacher vor 6 Jahren 1

2 Antworten auf die Frage

1
Michael Schumacher

Die Liste der damit verbundenen Probleme ist vielfältig und scheint verschiedene Ursachen zu haben.

Es gibt jedoch ein Problem innerhalb von GTK +, das zu solchen Symptomen führen kann und solange die auslösende Anwendung läuft. Es wurde kürzlich in einem Fehlerbericht für die GIMP-Anwendungen untersucht, siehe https://bugzilla.gnome.org/show_bug.cgi?id=780979

Es ist eine tatsächliche Designauswahl für die GTK + -Ereignisbehandlung und wurde eingeführt, um einen Fehler zu beheben:

  • Wenn ein Mausereignis auftritt, insbesondere ein Klick, muss das UI-Toolkit (GTK +, sein GDK-Subsystem) herausfinden, in welches Fenster dieses Ereignis gehen soll. Normalerweise ist dies das oberste Fenster am Klickort
  • Es kann jedoch sein, dass dieser Ort von den Fenstern einer anderen Anwendung abgedeckt wird
  • Und genau dies ist der Fall im Fehlerbericht: Eine Anwendung verwendet ein transparentes Vollbildfenster, um Mausgesten global zu erfassen
  • Das GDK erhält den Mausklick, prüft, ob eines der Anwendungsfenster angeklickt wurde, stellt fest, dass es von einem anderen Anwendungsfenster abgedeckt wird, und verwirft das Ereignis

Was getan werden kann, ist, den GTK + -Quellcode zu ändern, um dies zu verhindern. Wir haben einen GTK + -Patch im GIMP-Quellenbaum erhalten und planen diesen Test mit GIMP 2.9.8 auf den MS Windows-Plattformen. Sie können helfen, indem Sie diese Version testen, sobald sie veröffentlicht ist, da wir nicht sicher sind, ob dies zu einem anderen seltsamen Verhalten führt (da durch das Löschen des aktuellen Ereignisses etwas behoben wurde).

Sehr aufschlussreich. Vielen Dank. Ich werde es versuchen, wenn es veröffentlicht wird. Und akzeptieren, sobald es bestätigt ist. Joe DF vor 6 Jahren 1
Das GIMP 2.9.8-Installationsprogramm ist ab sofort verfügbar, einschließlich des oben genannten GTK + -Patches: https://www.gimp.org/downloads/devel/ Michael Schumacher vor 6 Jahren 0
Es scheint gut zu funktionieren, ich werde später auf meinem anderen Laptop versuchen. Könnte dies durch die Installation einer älteren inkscape-Version beeinträchtigt werden? oder ist der GTK von gimp vollständig in sich geschlossen? Joe DF vor 6 Jahren 0
Es ist vollständig in sich abgeschlossen (es sei denn, eine Anwendung oder ein Benutzer würde zufällige DLL-Dateien in Systemverzeichnisse streuen). Die gemeinsame Nutzung von GTK + im allgemeinen Verzeichnis der Programmdateien wurde zu Beginn versucht, aber ohne strenge Paketverwaltung wie auf Linux-Plattformen war dieser Ansatz auf Windows-Plattformen zum Scheitern verurteilt. Michael Schumacher vor 6 Jahren 1
+1 Ok ich verstehe, danke. Ich erinnere mich an eine Zeit, als ich mich daran erinnerte, die globalen GTK-Einstellungen zu ändern, und Gimp war indirekt betroffen. Ich habe GIMP devel v2.9 getestet. Ich kann nichts für win7 sagen, aber es funktioniert einwandfrei auf den beiden win10-Maschinen. Joe DF vor 6 Jahren 1
0
odora

Ich habe festgestellt, dass ich unter Windows 7 das OS-Thema von Areo in ein anderes geändert habe. Jetzt gibt es kein Problem!

Warum funktioniert Areo Theme nicht gut mit GTK +?

Interessant ... Ich muss das auf meinen Windows 10-Rechnern testen ... danke Joe DF vor 6 Jahren 0
Dies ist beispielsweise ein Beispiel für transparente Vollbildfenster (von der Aero-Design-Engine). Michael Schumacher vor 6 Jahren 0