Wie kann ich Text in einer Meldung lesbar machen?

15

Vor ein paar Monaten meldbegann sich seltsam zu benehmen. Gemeinsame Zeilen sind fast unlesbar und werden als dunkelgrauer Text auf schwarzem Hintergrund angezeigt.

Meldung schlägt fehl

Seltsamerweise ist es in Ordnung, es als root auszuführen (mit kdesudo meld), obwohl das Thema weniger hübsch ist.

root meld funktioniert

Wie kann ich die Farboptionen des Texts für die Meldung festlegen?

Ich benutze:

  • Arch Linux
  • KDE 4.14.3 (auch in 4.14.2 zu sehen)
  • Meldung 3.12.2 (auch in 3.12.1 zu sehen)
  • gtk3 3.14.6 (auch in 3.14.5 zu sehen)

Fehlerbehebung

KDE-Systemeinstellungen

meldverwendet GTK3, daher habe ich mit Systemeinstellungen> Allgemeines Erscheinungsbild und Verhalten> Anwendungsaussehen> GTK> Auswählen eines GTK3-Themas herumgespielt. Diese Änderung spiegelte sich in der Meldung wider, aber keine der drei von mir ausgewählten Optionen änderte den Text. (Die verfügbaren Optionen waren Default, Emacs und oxygen-gtk. Letzteres wird im obigen Screenshot verwendet.)

Konfigurationsdateien manuell ändern

Ich habe nach ~Dateien mit gtkdem Namen gesucht .

~/.gtkrc-2.0
~/.gtkrc-2.0-kde4
~/.config/gtk-2.0
~/.config/gtk-3.0
~/.kde4/share/config/gtkrc
~/.kde4/share/config/gtkrc-2.0

Interessanterweise gibt es nichts gtkin seinem Namen /root. Daher habe ich versucht, einige der ~Dateien zu löschen , um zu prüfen, ob ich für meinen Benutzer den gleichen Effekt erzielen kann. Ich nehme an, dass alle gtkrc-2.0Dateien irrelevant für eine Verbindung sind.

Erstens habe ich gelöscht ~/.config/gtk-3.0, aber dies hatte keine Auswirkung und wurde beim Öffnen von meld neu erstellt.

Die einzige andere Option schien zu sein ~/.kde4/share/config/gtkrc, also löschte diese und begann zu verschmelzen, was nicht betroffen war. Die Datei wurde jedoch nicht neu erstellt und enthält möglicherweise relevante Zeilen (z text[ACTIVE] = { 1.000, 1.000, 1.000 }. B. ). Ich bin mir nicht sicher, ob die (fehlende) Datei überhaupt geladen wurde. Ich habe es versucht kbuildsycoca4 ; kquitapp plasma-desktop ; sleep 2 ; kstart plasma-desktop, aber das hatte keine Wirkung. Muss ich den gtkrc manuell neu laden? Und warum wird diese Datei von den Systemeinstellungen nicht beeinflusst / neu geschrieben?

(Außerdem, FWIW, habe ich entfernt ~/.gtkrc-2.0-kde4, was eigentlich ein Symlink zu war ~/.gtkrc-2.0, und ich habe auch das Ziel selbst entfernt, aber das hat nicht geholfen. Auch hier habe ich gtk nicht neu geladen (ich bin nicht sicher, ob dies notwendig ist, oder möglich), und die Dateien wurden nicht neu erstellt, als ich versuchte, meld erneut auszuführen.)

Möglicherweise relevante Umgebungsvariablen

$ export | grep -i gtk
declare -x GTK2_RC_FILES="/etc/gtk-2.0/gtkrc:/home/sparhawk/.gtkrc-2.0:/home/sparhawk/.kde4/share/config/gtkrc-2.0"
declare -x GTK_IM_MODULE="xim"
declare -x GTK_MODULES="canberra-gtk-module"
declare -x GTK_RC_FILES="/etc/gtk/gtkrc:/home/sparhawk/.gtkrc:/home/sparhawk/.kde4/share/config/gtkrc"

(Offenlegung: Ich habe diese Frage bereits in den KDE-Foren gestellt , bin aber zu keiner Lösung gekommen.)

Sparhawk
quelle
@tombart Antwort ist die aktuellste, sollte die akzeptierte sein
Francesco
@Francesco Nein, die Frage betrifft eine vor drei Jahren eingeführte Regression. Tombarts Antwort beschreibt ein ähnliches, aber separates Problem. Lesen Sie die Fragen und Antworten sorgfältig durch, um weitere Einzelheiten zu erfahren.
Sparhawk
in Ordnung, es war nützlich für mich übrigens :)
Francesco
Keine Bange. Das ist zum Teil der Grund, warum ich nicht dafür stimme, dies zu schließen (gemäß diesem Meta ).
Sparhawk

Antworten:

14

Zumindest ab Meld 3.16.4 werden unterschiedliche Farbschemata unterstützt.

Siehe Meld > Preferences:

verschmolzene Vorlieben

(möglicherweise wurde diese Änderung in früheren Versionen eingeführt)

Hinweis :
Es ist auch möglich, ein bestimmtes Thema für Meld per CLI zu erzwingen:GTK_THEME=Adwaita:dark meld

Tombart
quelle
Auf jeden Fall die richtige Antwort!
Francesco
Ich habe Kate als "Syntax-Hervorhebungs-Farbschema" ausgewählt und das Problem behoben! Vielen Dank
Juan Ignacio Barisich
4

Es sieht so aus, als wäre es eine in Meld 3.12.1 eingeführte Regression. Ich habe frühere Versionen von der meld- Website heruntergeladen .

Meld 3.12.0 funktioniert gut. 3.12.0

Meld 3.12.1 nicht. Bildbeschreibung hier eingeben

Ich habe die Entwickler kontaktiert und sie haben mir gesagt, dass es sich in der Tat um eine Regression handelt, die im gtk + 3-Port eingeführt wurde. Sie schlugen vor, das gerade veröffentlichte 3.12.3 auszuprobieren, das jetzt funktioniert. (Es wird jedoch immer noch nicht vollständig erklärt, warum das Verschicken in ein neues Konto funktionieren würde.)

Sparhawk
quelle
Ist Meld 3.12.1 nach dem Ausführen von 3.12.0 immer noch derselbe?
Graeme
@Graeme Ja, das ist es. Wahrscheinlich nicht wichtig, aber ich habe sie direkt aus den unkomprimierten Dateien ausgeführt.
Sparhawk
Gibt es unterschiedliche Gnome-Abhängigkeiten zwischen den beiden Versionen? Welche Distribution verwenden Sie und wie installieren Sie?
Graeme
@Graeme Ich benutze Arch und installiere von den offiziellen Repos. Alle Abhängigkeiten der beiden Versionen sind identisch.
Sparhawk
1
@Graeme Ich habe die Antwort aktualisiert.
Sparhawk
3

In diesem locate -b meld | grep homeFall erhalte ich drei Verzeichnisse, die Sie nicht erwähnt haben.

~/.gconf/apps/meld
~/.gconf/apps/gnome-settings/meld
~/.local/share/meld

Das eine ~/.local/sharescheint nur eine Geschichte lokaler Vergleiche zu sein, aber die anderen beiden Verzeichnisse enthalten xmlDateien. Ich würde versuchen, diese zu entfernen.

Wenn das nicht funktioniert, können Sie genau sehen, welche Dateien meldwie folgt gelesen werden:

strace -e trace=file meld |& grep home

Ein Blick auf die Ausgabe sollte hoffentlich etwas anderes ergeben, das untersucht werden muss.

Andernfalls würde ich versuchen, ein anderes Benutzerkonto zu erstellen, mich anzumelden und meld (aber sonst nichts) dort auszuführen. Wenn dies in Ordnung angezeigt wird, können Sie die Punktdateien / Umgebungsvariablen dort anzeigen und mit Ihrem eigenen Konto vergleichen. Beachten Sie, dass Sie sich über X anmelden und nicht nur suoder verwenden sollten, sudodamit Ihre Desktop-Umgebung die Möglichkeit erhält, die Standard-Punktedateien zu erstellen. Dies wird wahrscheinlich der Grund dafür sein, dass es bei der Ausführung als Root einfach aussieht.

Wenn nichts davon funktioniert, können Sie immer aufgeben und stattdessen Diffuse verwenden. Ich habe es selbst noch nicht richtig getestet, aber es kann einige Dinge meldnicht (allerdings keine Verzeichnisvergleiche, also kein wirklicher Ersatz). :)

Aktualisieren

Um zu versuchen, die problematische (n) Datei (en) aufzuspüren, können Sie die Punktedateien im neuen Konto mit den alten vergleichen. Leider kann es sich um fast jede der Punktedateien im neuen Konto handeln, weshalb es wichtig ist, keine anderen Anwendungen (insbesondere keinen Webbrowser) auszuführen, da dies weitere erstellt / ändert. Um Dateien zu vergleichen, können Sie versuchen, im neuen Konto Folgendes auszuführen:

find . -type f -exec cmp {} /home/your_account/{} \;

Für diejenigen, die anders sind, könnten Sie weitere Nachforschungen anstellen mit, äh, Meld. Wenn dies nichts ergibt, gibt es wahrscheinlich eine Datei, die Sie entfernen möchten und die schwer zu finden wäre. Sie können versuchen strace, die Ausgaben der beiden Konten erneut zu vergleichen.

Graeme
quelle
+1 für die detaillierte Strategie. Ich habe es noch nicht zum Laufen gebracht, aber hier sind die Ergebnisse bis jetzt. Das Löschen der beiden vorgeschlagenen Verzeichnisse und der anschließende Neustart von meld funktionierten nicht. stracedie folgenden Kandidaten offenbart: ~/.config/gtk-3.0/settings.ini, ~/.config/oxygen-gtk, ~/.kde4/share/config/kdeglobals, /home/lee/.kde4/share/config/oxygenrc. Der erste Versuch wurde bereits unternommen, aber das Löschen des Rests funktionierte nicht. Ich werde als nächstes versuchen, ein neues Konto zu erstellen.
Sparhawk
Ich habe ein neues Konto erstellt und ja, der Text sieht dort gut aus. Gemäß der Frage habe ich Umgebungsvariablen (mitexport | grep -i gtk ), aber der einzige Unterschied war die Anwesenheit der folgenden in der ursprünglichen, nicht arbeit Konto: declare -x GTK_IM_MODULE="xim". Ich bin mir nicht sicher, nach welchen Dateien ich suchen soll. Ich habe nach Dateien mit gtkoder meldin ihren Namen gesucht , aber nur die oben genannten gefunden, die ich bereits getestet hatte.
Sparhawk
@Sparhawk, aktualisiert. Ich bezweifle, dass es einen Unterschied machen wird, aber es schadet nicht, wenn man einen machtunset GTK_IM_MODULE Kommando über die Kommandozeile auszuführen und dann meldüber dieselbe Shell zu laufen .
Graeme
Ich habe meine Antwort aktualisiert.
Sparhawk
3

nur ein Update vermieten ...

In der Version 3.18 werden keine Einstellungen zum Ändern Ihres Themas angezeigt.

aber mit dem dconf-editor kannst du auf die meld-konfiguration zugreifen und style-chema auf 'meld-dark' setzen ... und glücklich sein!

fast so: https://linux.m2osw.com/no-meld-preferences-menu

Bildbeschreibung hier eingeben

Tiago Oliveira
quelle
1
Welches dunkle Systemthema verwenden Sie @Tiago Oliviera? Ich liebe es!
Mihai Galos
1

Überschreiben Sie die meld.css mit der dortigen und Sie können Meld mit dem dunklen Thema verwenden https://wiki.gnome.org/Apps/Meld/DarkThemes verwenden

k_zoltan
quelle
Ich wollte kein dunkles Thema verwenden. Bei dieser Frage ging es nicht darum, das Thema insgesamt zu ändern, sondern nur um ein bestimmtes Element, nämlich die gemeinsamen Linien. Gemäß der akzeptierten Antwort war es eine Regression, die seitdem behoben wurde.
Sparhawk
Für was es wert ist ... Für meine Zwecke war dies die perfekte Antwort - Schalt gtk zum dunkelen Thema macht einen guten Job machen , den Text in meld unleserlich
Dmitri DB