Como posso tornar o texto legível no meld?


16

Alguns meses atrás, meldcomeçou a se comportar de maneira estranha. As linhas comuns são quase ilegíveis e são exibidas como texto cinza escuro em um fundo preto.

fusão falha

Curiosamente, executá-lo como root é bom (com kdesudo meld), embora o tema seja menos bonito.

obras de fusão raiz

Como posso especificar as opções de cores do texto para mesclagem?

Estou a usar:

  • Arch Linux
  • KDE 4.14.3 (também visto em 4.14.2)
  • meld 3.12.2 (também visto em 3.12.1)
  • gtk3 3.14.6 (também visto em 3.14.5)

Solução de problemas

Configurações do sistema KDE

meldusa GTK3, então eu brinquei com Configurações do sistema> Aparência e comportamento comuns> Aparência do aplicativo> GTK> Selecione um tema GTK3. Essa alteração foi refletida na combinação, mas nenhuma das três opções que selecionei alterou o texto. (As opções disponíveis eram Default, Emacs e oxygen-gtk; a última é usada na captura de tela acima.)

Modificando manualmente arquivos de configuração

Procurei ~arquivos com gtko nome deles.

~/.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, não há nada com gtkem seu nome em /root. Por isso, tentei excluir alguns dos ~arquivos, para ver se consegui o mesmo efeito para o meu usuário. Presumo que todos os gtkrc-2.0arquivos sejam irrelevantes para mesclar.

Em primeiro lugar, excluí ~/.config/gtk-3.0, mas isso não teve efeito e foi recriado quando abri o meld.

A única outra opção parecia ser ~/.kde4/share/config/gtkrc, então exclua-a e inicie a fusão, que não é afetada. No entanto, o arquivo não foi recriado e contém algumas linhas possivelmente pertinentes (por exemplo text[ACTIVE] = { 1.000, 1.000, 1.000 }). Não tenho certeza se o arquivo (ausente) foi carregado. Eu tentei kbuildsycoca4 ; kquitapp plasma-desktop ; sleep 2 ; kstart plasma-desktop, mas isso não teve efeito. Preciso recarregar manualmente o gtkrc? E por que esse arquivo não está sendo afetado / reescrito pelas configurações do sistema?

(Além disso, removi o FWIW, ~/.gtkrc-2.0-kde4que na verdade era um link simbólico ~/.gtkrc-2.0e também o próprio destino, mas isso não ajudou. Novamente, não recarreguei o gtk (não tenho certeza se isso é necessário ou possível) e os arquivos não foram recriados quando tentei executar o meld novamente.)

Variáveis ​​de ambiente possivelmente 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"

(Divulgação: eu já fiz essa pergunta nos fóruns do KDE , mas não encontrei uma solução.)


A resposta do @tombart é a mais atualizada, deve ser a mais aceita
Francesco

@Francesco Não, a questão diz respeito a uma regressão introduzida há três anos. A resposta de Tombart descreve uma questão semelhante, mas separada. Faça uma leitura completa das perguntas e respostas para obter mais detalhes.
Sparhawk

tudo bem que era útil para mim pela maneira :)
Francesco

Não se preocupe. Isso é parcialmente porque eu não estou votando para fechar isso (de acordo com essa meta ).
Sparhawk

Respostas:


16

Pelo menos no Meld 3.16.4 suporta esquemas de cores diferentes.

Veja Meld > Preferences:

preferências de fusão

(possivelmente essa alteração foi introduzida em versões anteriores)

Nota :
Também é possível forçar um tema específico para o Meld by CLI:GTK_THEME=Adwaita:dark meld


4

Parece que foi uma regressão introduzida no Meld 3.12.1. Eu baixei versões anteriores do site da meld .

A fusão 3.12.0 funciona bem. 3.12.0

A fusão 3.12.1 não. insira a descrição da imagem aqui

Entrei em contato com os desenvolvedores e eles me disseram que era realmente uma regressão introduzida na porta gtk + 3. Eles sugeriram experimentar o recém-lançado 3.12.3, que agora funciona. (No entanto, ainda não explica completamente por que a fusão em uma nova conta funcionaria.)


O Meld 3.12.1 ainda é o mesmo após a execução do 3.12.0?
Graeme

@ Graeme Sim, é. Provavelmente não é importante, mas eu os executei diretamente dos arquivos não compactados.
Sparhawk

Existem dependências diferentes do Gnome entre as duas versões? Qual distro você está usando e como está instalando?
Graeme

@ Grara Estou usando o Arch, instalando a partir dos repositórios oficiais. Todas as dependências das duas versões são idênticas.
Sparhawk

1
@ Graeme Atualizei a resposta.
Sparhawk

3

Em caso afirmativo locate -b meld | grep home, recebo três diretórios que você não mencionou;

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

O que ~/.local/shareparece ser um histórico de comparações locais, mas os outros dois diretórios possuem xmlarquivos. Eu tentaria removê-los.

Se isso não funcionar, você poderá ver exatamente quais arquivos são meldlidos com algo como:

strace -e trace=file meld |& grep home

Olhando para a saída, esperamos que deva produzir outra coisa para investigar.

Falhando, eu tentaria criar outra conta de usuário, fazer login e executar o meld (mas nada mais) lá. Se aparecer ok, você poderá visualizar os arquivos de ponto / variáveis ​​de ambiente e compará-los com sua própria conta. Observe que você deve efetuar login via X e não apenas usar suou sudopara que seu ambiente de área de trabalho tenha a chance de criar os arquivos de ponto padrão - provavelmente será por isso que parece simples ao executar como root.

Se nada disso funcionar, você sempre pode desistir e usar Diffuse . Ainda não testei adequadamente, mas faz algumas coisas que meldnão podem (sem comparação de diretórios, portanto, não é uma substituição). :)

Atualizar

Para tentar rastrear o (s) arquivo (s) ofensivo (s), você pode comparar os arquivos de ponto na nova conta com a antiga. Infelizmente, pode ser quase qualquer um dos arquivos de ponto da nova conta, e é por isso que é importante não executar outros aplicativos (especialmente um navegador da web), pois isso criará / mudará mais. Para comparar arquivos, tente executar algo parecido com isto na nova conta:

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

Para aqueles que são diferentes, você pode investigar mais com, er, Meld. Se isso não produzir nada, provavelmente há um arquivo que você deseja remover que seria difícil de encontrar. Você pode tentar voltar stracee comparar os resultados das duas contas.


+1 para a estratégia detalhada. Ainda não funcionou, mas aqui estão os resultados até agora. Excluir os dois diretórios sugeridos e reiniciar o meld não funcionou. stracerevelou os seguintes candidatos: ~/.config/gtk-3.0/settings.ini, ~/.config/oxygen-gtk, ~/.kde4/share/config/kdeglobals, /home/lee/.kde4/share/config/oxygenrc. O primeiro já foi tentado, mas excluir o restante, por sua vez, não funcionou. Vou tentar criar uma nova conta a seguir.
Sparhawk

Criei uma nova conta e, sim, o texto fica bem lá. De acordo com a causa, eu olhou para as variáveis de ambiente (com export | grep -i gtk), mas a única diferença foi a presença do seguinte no original, conta não-trabalho: declare -x GTK_IM_MODULE="xim". Não tenho muita certeza de quais arquivos procurar. Eu procurei por arquivos com gtkou meldem seus nomes, mas só encontrei os acima, que eu já havia testado.
Sparhawk

@Sparhawk, atualizado. Duvido que isso faça alguma diferença, mas não há mal em fazer um a unset GTK_IM_MODULEpartir da linha de comando e depois executar meldno mesmo shell.
Graeme

Eu atualizei minha resposta.
Sparhawk


1

substitua o meld.css pelo que está lá e você poderá usar o Meld com o tema escuro https://wiki.gnome.org/Apps/Meld/DarkThemes


Eu não queria usar um tema sombrio. Esta questão não era sobre mudar o tema em geral, era apenas sobre um elemento específico, isto é, as linhas comuns. De acordo com a resposta aceita, foi uma regressão que foi corrigida desde então.
Sparhawk

Por que vale a pena ... Para os meus propósitos esta foi a resposta perfeita - Mudar gtk ao tema escuro faz um grande trabalho de fazer o texto em fusão ilegível
Dmitri DB
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.