How can I make text in meld readable?

At least from Meld 3.16.4 support different color schemes.

See Meld > Preferences:

meld prefernces

(possibly this change was introduced in earlier versions)

Note:
It is also possible to force a specific theme for Meld by CLI: GTK_THEME=Adwaita:dark meld


It looks like it was a regression introduced in Meld 3.12.1. I downloaded previous versions from the meld website.

Meld 3.12.0 works fine. 3.12.0

Meld 3.12.1 does not. enter image description here

I contacted the devs and they told me that it was indeed a regression introduced in the gtk+ 3 port. They suggested trying the just-released 3.12.3, which now works. (However, it still doesn't fully explain why meld in a new account would work.)


If I do locate -b meld | grep home, I get three directories you haven't mentioned;

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

The one in ~/.local/share just seems to be a history of local comparisons, but the other two directories have xml files in them. I would try removing those.

If that doesn't work, you can see exactly which files meld reads with something like:

strace -e trace=file meld |& grep home

Looking at the output will should hopefully yield something else to investigate.

Failing that I would try creating another user account, logging in and running meld (but nothing else) there. If it displays ok, you could view the dot files/environment variables there and compare them to your own account. Note that you should log in via X and not just use su or sudo so that your desktop environment gets the chance to create the default dot files - this will likely be why it looks plain when running as root.

If none of that works, you could always give up and use Diffuse instead. I haven't tested it properly yet myself, but it does some things that meld can't (no directory comparisons though, so not quite a replacement). :)

Update

To try to track down the offending file(s) you can compare the dot files in the new account with the old. Unfortunately it could be almost any of the dot files in the new account, which is why it is important not to run any other applications (especially a web browser) as this will create/change more. To compare files you could try running something like this in the new account:

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

For the ones that are different, you could investigate further with, er, Meld. If this doesn't yield anything then there is probably a file that you want to remove which would be hard to find. You could try going back to strace and comparing the outputs from the two accounts.