Comment puis-je rendre le texte lisible?

16

Il y a quelques mois, a meldcommencé à se comporter bizarrement. Les lignes communes sont presque illisibles et apparaissent sous forme de texte gris foncé sur fond noir.

fusion échoue

Curieusement, l'exécuter en tant que root est très bien (avec kdesudo meld), bien que le thème soit moins joli.

travaux de fusion des racines

Comment puis-je spécifier les options de couleur du texte pour la fusion?

J'utilise:

  • Arch Linux
  • KDE 4.14.3 (également vu en 4.14.2)
  • fusionner 3.12.2 (également vu en 3.12.1)
  • gtk3 3.14.6 (également vu en 3.14.5)

Dépannage

Paramètres système de KDE

meldutilise GTK3, j'ai donc manipulé Paramètres système> Apparence et comportement communs> Apparence de l'application> GTK> Sélectionnez un thème GTK3. Cette modification s'est reflétée dans la fusion, mais aucune des trois options que j'ai sélectionnées n'a modifié le texte. (Les options disponibles étaient Par défaut, Emacs et oxygène-gtk; ce dernier est utilisé dans la capture d'écran ci-dessus.)

Modification manuelle des fichiers de configuration

J'ai cherché ~des fichiers avec gtkleur nom.

~/.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

Fait intéressant, il n'y a rien avec gtkson nom dans /root. Par conséquent, j'ai essayé de supprimer certains ~fichiers pour voir si je pouvais obtenir le même effet pour mon utilisateur. Je suppose que tous les gtkrc-2.0fichiers ne sont pas pertinents à fusionner.

Tout d'abord, j'ai supprimé ~/.config/gtk-3.0, mais cela n'a eu aucun effet et a été recréé lorsque j'ai ouvert la fusion.

La seule autre option semblait être ~/.kde4/share/config/gtkrc, alors supprimez-la et commencez la fusion, qui n'est pas affectée. Cependant, le fichier n'a pas été recréé et contient des lignes éventuellement pertinentes (par exemple text[ACTIVE] = { 1.000, 1.000, 1.000 }). Je ne sais pas si le fichier (manquant) a été chargé du tout. J'ai essayé kbuildsycoca4 ; kquitapp plasma-desktop ; sleep 2 ; kstart plasma-desktop, mais cela n'a eu aucun effet. Dois-je recharger manuellement le gtkrc? Et pourquoi ce fichier n'est-il pas affecté / réécrit par les paramètres système?

(De plus, FWIW, j'ai supprimé ~/.gtkrc-2.0-kde4, qui était en fait un lien symbolique vers ~/.gtkrc-2.0, et j'ai également supprimé la cible elle-même, mais cela n'a pas aidé. Encore une fois, je n'ai pas rechargé gtk (je ne sais pas si cela est nécessaire, ou possible), et les fichiers n'ont pas été recréés lorsque j'ai réessayé l'exécution de meld.)

Variables d'environnement éventuellement pertinentes

$ 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"

(Divulgation: j'ai déjà posé cette question sur les forums de KDE , mais je n'ai pas trouvé de solution.)

Sparhawk
la source
La réponse @tombart est la plus mise à jour, devrait être celle acceptée
Francesco
@Francesco Non, la question concerne une régression introduite il y a trois ans. La réponse de Tombart décrit un problème similaire mais distinct. Lisez attentivement la question et les réponses pour plus de détails.
Sparhawk
D'accord, cela m'a été utile d'ailleurs :)
Francesco
Pas de soucis. C'est en partie pourquoi je ne vote pas pour fermer cela (selon cette méta ).
Sparhawk

Réponses:

16

Au moins à partir de Meld 3.16.4, différents schémas de couleurs sont pris en charge.

Voir Meld > Preferences:

fusionner les pré-ingrédients

(ce changement a peut-être été introduit dans les versions antérieures)

Remarque :
Il est également possible de forcer un thème spécifique pour Meld by CLI:GTK_THEME=Adwaita:dark meld

Tombart
la source
4

Il semble que ce soit une régression introduite dans Meld 3.12.1. J'ai téléchargé les versions précédentes sur le site Web de meld .

Meld 3.12.0 fonctionne très bien. 3.12.0

Meld 3.12.1 ne fonctionne pas. entrez la description de l'image ici

J'ai contacté les développeurs et ils m'ont dit qu'il s'agissait bien d'une régression introduite dans le port gtk + 3. Ils ont suggéré d'essayer le 3.12.3 qui vient de sortir, qui fonctionne maintenant. (Cependant, cela n'explique toujours pas complètement pourquoi la fusion dans un nouveau compte fonctionnerait.)

Sparhawk
la source
Meld 3.12.1 est-il toujours le même après l'exécution de 3.12.0?
Graeme
@Graeme Oui, ça l'est. Probablement pas important, mais je les ai exécutés directement à partir des fichiers non compressés.
Sparhawk
Existe-t-il différentes dépendances Gnome entre les deux versions? Quelle distribution utilisez-vous et comment installez-vous?
Graeme
@Graeme J'utilise Arch, en installant à partir des dépôts officiels. Toutes les dépendances des deux versions sont identiques.
Sparhawk
1
@Graeme J'ai mis à jour la réponse.
Sparhawk
3

Si je le fais locate -b meld | grep home, j'obtiens trois répertoires que vous n'avez pas mentionnés;

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

Celui-ci ~/.local/sharesemble simplement être un historique de comparaisons locales, mais les deux autres répertoires contiennent des xmlfichiers. J'essaierais de les supprimer.

Si cela ne fonctionne pas, vous pouvez voir exactement quels fichiers meldlisent avec quelque chose comme:

strace -e trace=file meld |& grep home

En regardant la sortie, nous espérons que cela donnera quelque chose d'autre à étudier.

À défaut, j'essaierais de créer un autre compte d'utilisateur, de me connecter et d'exécuter meld (mais rien d'autre) là-bas. S'il s'affiche correctement, vous pouvez y voir les fichiers de points / variables d'environnement et les comparer à votre propre compte. Notez que vous devez vous connecter via X et ne pas simplement utiliser suou sudopour que votre environnement de bureau ait la possibilité de créer les fichiers dot par défaut - ce sera probablement la raison pour laquelle cela semble simple lors de l'exécution en tant que root.

Si rien de tout cela ne fonctionne, vous pouvez toujours abandonner et utiliser Diffuse à la place. Je ne l'ai pas encore testé correctement moi-même, mais il fait certaines choses qui meldne peuvent pas (pas de comparaison de répertoires, donc pas tout à fait un remplacement). :)

Mise à jour

Pour essayer de retrouver les fichiers incriminés, vous pouvez comparer les fichiers de points du nouveau compte avec l'ancien. Malheureusement, il pourrait s'agir de presque tous les fichiers de points du nouveau compte, c'est pourquoi il est important de ne pas exécuter d'autres applications (en particulier un navigateur Web) car cela créera / modifiera davantage. Pour comparer des fichiers, vous pouvez essayer d'exécuter quelque chose comme ceci dans le nouveau compte:

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

Pour ceux qui sont différents, vous pouvez enquêter davantage avec, euh, Meld. Si cela ne donne rien, il y a probablement un fichier que vous souhaitez supprimer qui serait difficile à trouver. Vous pouvez essayer de revenir en arrière straceet de comparer les sorties des deux comptes.

Graeme
la source
+1 pour la stratégie détaillée. Je ne l'ai pas encore fait fonctionner, mais voici les résultats jusqu'à présent. La suppression des deux répertoires suggérés puis le redémarrage de meld n'ont pas fonctionné. stracea révélé les candidats suivants: ~/.config/gtk-3.0/settings.ini, ~/.config/oxygen-gtk, ~/.kde4/share/config/kdeglobals, /home/lee/.kde4/share/config/oxygenrc. Le premier a déjà été tenté, mais la suppression du reste à son tour n'a pas fonctionné. Je vais essayer de créer un nouveau compte ensuite.
Sparhawk
J'ai créé un nouveau compte, et oui, le texte semble bien là-bas. Conformément à la question, je regardais les variables d'environnement (avec export | grep -i gtk), mais la seule différence est la présence de ce qui suit dans l'original, compte non-travail: declare -x GTK_IM_MODULE="xim". Je ne sais pas vraiment quels fichiers rechercher. J'ai cherché des fichiers avec gtkou melden leur nom, mais je n'ai trouvé que ceux ci-dessus, que j'avais déjà testés.
Sparhawk
@Sparhawk, mis à jour. Je doute que cela fasse une différence, mais il n'y a aucun mal à faire un à unset GTK_IM_MODULEpartir de la ligne de commande, puis à exécuter à meldpartir du même shell.
Graeme
J'ai mis à jour ma réponse.
Sparhawk
3

ne laissant qu'une mise à jour ...

La version 3.18 n'affichera pas de préférences pour changer votre thème.

mais par dconf-editor, vous pouvez accéder à la configuration de meld et définir style-chema sur 'meld-dark' ... et être heureux!

presque comme ça: https://linux.m2osw.com/no-meld-preferences-menu

entrez la description de l'image ici

Tiago Oliveira
la source
1

écrasez le meld.css avec celui là-bas et vous pourrez utiliser Meld avec le thème sombre https://wiki.gnome.org/Apps/Meld/DarkThemes

k_zoltan
la source
Je ne voulais pas utiliser un thème sombre. Cette question ne portait pas sur le changement global du thème, il s'agissait simplement d'un élément spécifique, à savoir les lignes communes. Selon la réponse acceptée, il s'agissait d'une régression qui a depuis été corrigée.
Sparhawk
Pour ce que ça vaut ... Pour moi, c'était la réponse parfaite - Passer de gtk au thème sombre fait un excellent travail de rendre le texte en fusion illisible
Dmitri DB