¿Cómo puedo hacer que el texto en meld sea legible?

16

Hace unos meses, meldcomenzó a comportarse de manera extraña. Las líneas comunes son casi ilegibles y se muestran como texto gris oscuro sobre un fondo negro.

la fusión falla

Curiosamente, ejecutarlo como root está bien (con kdesudo meld), aunque el tema es menos bonito.

trabajos de fusión de raíces

¿Cómo puedo especificar las opciones de color del texto para la fusión?

Estoy usando:

  • Arch Linux
  • KDE 4.14.3 (también visto en 4.14.2)
  • fusión 3.12.2 (también visto en 3.12.1)
  • gtk3 3.14.6 (también visto en 3.14.5)

Solución de problemas

Configuraciones del sistema KDE

meldusa GTK3, así que jugueteé con Configuración del sistema> Aspecto y comportamiento común> Aspecto de la aplicación> GTK> Seleccionar un tema GTK3. Este cambio se reflejó en la fusión, pero ninguna de las tres opciones que seleccioné cambió el texto. (Las opciones disponibles fueron Predeterminado, Emacs y oxígeno-gtk; este último se usa en la captura de pantalla anterior).

Modificación manual de archivos de configuración

Busqué ~archivos con gtksu nombre.

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

Curiosamente, no hay nada gtken su nombre /root. Por lo tanto, intenté eliminar algunos de los ~archivos para ver si podía obtener el mismo efecto para mi usuario. Supongo que todos los gtkrc-2.0archivos son irrelevantes para la fusión.

En primer lugar, eliminé ~/.config/gtk-3.0, pero esto no tuvo efecto, y se recreó cuando abrí meld.

La única otra opción parecía ser ~/.kde4/share/config/gtkrc, así que eliminé esto y comencé a fusionar, lo que no se vio afectado. Sin embargo, el archivo no se volvió a crear y contiene algunas líneas posiblemente pertinentes (por ejemplo text[ACTIVE] = { 1.000, 1.000, 1.000 }). No estoy seguro de si el archivo (faltante) se cargó en absoluto. Lo intenté kbuildsycoca4 ; kquitapp plasma-desktop ; sleep 2 ; kstart plasma-desktop, pero esto no tuvo ningún efecto. ¿Necesito recargar manualmente el gtkrc? ¿Y por qué este archivo no se ve afectado / reescrito por la configuración del sistema?

(Además, FWIW, eliminé, lo ~/.gtkrc-2.0-kde4que en realidad era un enlace simbólico ~/.gtkrc-2.0, y también eliminé el objetivo en sí, pero eso no ayudó. Nuevamente, no volví a cargar gtk (no estoy seguro de si esto es necesario, o posible), y los archivos no se volvieron a crear cuando intenté ejecutar meld nuevamente.)

Posiblemente variables de entorno 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"

(Divulgación: previamente hice esta pregunta en los foros de KDE , pero no encontré una solución).

Gavilán
fuente
La respuesta de @tombart es la más actualizada, debería ser la aceptada
Francesco
@Francesco No, la pregunta se refiere a una regresión introducida hace tres años. La respuesta de Tombart describe un problema similar, pero separado. Lea detenidamente las preguntas y respuestas para obtener más detalles.
Sparhawk
por cierto, fue útil para mí :)
Francesco
Sin preocupaciones. Eso es parcialmente por lo que no estoy votando para cerrar esto (según este meta ).
Sparhawk

Respuestas:

16

Al menos desde Meld 3.16.4 admite diferentes esquemas de color.

Ver Meld > Preferences:

preferencias de fusión

(posiblemente este cambio se introdujo en versiones anteriores)

Nota :
También es posible forzar un tema específico para Meld by CLI:GTK_THEME=Adwaita:dark meld

Tombart
fuente
4

Parece que fue una regresión introducida en Meld 3.12.1. Descargué versiones anteriores del sitio web meld .

Meld 3.12.0 funciona bien. 3.12.0

Meld 3.12.1 no. ingrese la descripción de la imagen aquí

Me puse en contacto con los desarrolladores y me dijeron que en realidad era una regresión introducida en el puerto gtk + 3. Sugirieron probar el recién lanzado 3.12.3, que ahora funciona. (Sin embargo, todavía no explica completamente por qué funcionaría combinar una cuenta nueva).

Gavilán
fuente
¿Meld 3.12.1 sigue siendo el mismo después de ejecutar 3.12.0?
Graeme
@Graeme Sí, lo es. Probablemente no sea importante, pero los ejecuté directamente desde los archivos sin comprimir.
Sparhawk
¿Hay diferentes dependencias de Gnome entre las dos versiones? ¿Qué distribución estás usando y cómo estás instalando?
Graeme
@Graeme Estoy usando Arch, instalando desde los repositorios oficiales. Todas las dependencias de las dos versiones son idénticas.
Sparhawk
1
@Graeme He actualizado la respuesta.
Sparhawk
3

Si lo hago locate -b meld | grep home, obtengo tres directorios que no ha mencionado;

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

El uno en ~/.local/shareparece ser un historial de comparaciones locales, pero los otros dos directorios tienen xmlarchivos en ellos. Intentaría eliminarlos.

Si eso no funciona, puede ver exactamente qué archivos se meldleen con algo como:

strace -e trace=file meld |& grep home

Con suerte, mirar la salida debería producir algo más para investigar.

De lo contrario, intentaría crear otra cuenta de usuario, iniciar sesión y ejecutar meld (pero nada más) allí. Si se muestra bien, puede ver los archivos de puntos / variables de entorno allí y compararlos con su propia cuenta. Tenga en cuenta que debe iniciar sesión a través de X y no solo usar suo sudopara que su entorno de escritorio tenga la oportunidad de crear los archivos de puntos predeterminados; probablemente sea por eso que se ve simple cuando se ejecuta como root.

Si nada de eso funciona, siempre puedes darte por vencido y usar Diffuse en su lugar. No lo he probado correctamente todavía, pero hace algunas cosas que meldno pueden (sin embargo, no hay comparaciones de directorios, por lo que no es un reemplazo). :)

Actualizar

Para intentar rastrear los archivos ofensivos, puede comparar los archivos de puntos en la nueva cuenta con los antiguos. Desafortunadamente, podría ser casi cualquiera de los archivos de puntos en la nueva cuenta, por lo que es importante no ejecutar ninguna otra aplicación (especialmente un navegador web) ya que esto creará / cambiará más. Para comparar archivos, puede intentar ejecutar algo como esto en la nueva cuenta:

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

Para los que son diferentes, podría investigar más a fondo con, por ejemplo, Meld. Si esto no produce nada, entonces probablemente hay un archivo que desea eliminar que sería difícil de encontrar. Puede intentar volver stracey comparar los resultados de las dos cuentas.

Graeme
fuente
+1 para la estrategia detallada. Todavía no lo tengo para trabajar, pero aquí están los resultados hasta ahora. Eliminar los dos directorios sugeridos y luego reiniciar meld no funcionó. stracepuesto de manifiesto los siguientes candidatos: ~/.config/gtk-3.0/settings.ini, ~/.config/oxygen-gtk, ~/.kde4/share/config/kdeglobals, /home/lee/.kde4/share/config/oxygenrc. El primero ya se intentó, pero eliminar el resto a su vez no funcionó. Intentaré crear una nueva cuenta a continuación.
Sparhawk
Creé una nueva cuenta, y sí, el texto se ve bien allí. De acuerdo con la pregunta, miré a las variables de entorno (con export | grep -i gtk), pero la única diferencia fue la presencia de los siguientes en el original, cuenta que no funciona: declare -x GTK_IM_MODULE="xim". No estoy realmente seguro de qué archivos buscar. Busqué archivos con gtko melden sus nombres, pero solo encontré los de arriba, que ya había probado.
Sparhawk
@Sparhawk, actualizado. Dudo que haga alguna diferencia, pero no hay nada malo en hacer un unset GTK_IM_MODULEcomando desde la línea de comando y luego ejecutarlo melddesde el mismo shell.
Graeme
He actualizado mi respuesta.
Sparhawk
3

solo dejando una actualización ...

La versión 3.18 no mostrará preferencias para cambiar su tema.

pero con dconf-editor, puede acceder a la configuración de fusión y establecer style-chema en 'meld-dark' ... ¡y ser feliz!

casi así: https://linux.m2osw.com/no-meld-preferences-menu

ingrese la descripción de la imagen aquí

Tiago Oliveira
fuente
1

sobrescriba meld.css con el que está allí y podrá usar Meld con el tema oscuro https://wiki.gnome.org/Apps/Meld/DarkThemes

k_zoltan
fuente
No quería usar un tema oscuro. Esta pregunta no se trataba de cambiar el tema en general, se trataba solo de un elemento específico, es decir, las líneas comunes. Según la respuesta aceptada, fue una regresión que desde entonces se ha solucionado.
Sparhawk
Para lo que vale ... Para mis propósitos, esta fue la respuesta perfecta: cambiar gtk al tema oscuro hace un gran trabajo al hacer que el texto en fusión sea ilegible
Dmitri DB