Jak sprawić, by tekst w metodzie był czytelny?


16

Kilka miesięcy temu meldzaczęło się dziwnie zachowywać. Wspólne linie są prawie nieczytelne i są wyświetlane jako ciemnoszary tekst na czarnym tle.

meld nie powiedzie się

Co dziwne, uruchamianie go jako root jest w porządku (z kdesudo meld), chociaż motyw jest mniej ładny.

działa root meld

Jak mogę określić opcje kolorów tekstu dla łączenia?

Używam:

  • Arch Linux
  • KDE 4.14.3 (także w 4.14.2)
  • meldunek 3.12.2 (również widoczny w 3.12.1)
  • gtk3 3.14.6 (także w 3.14.5)

Rozwiązywanie problemów

Ustawienia systemowe KDE

meldużywa GTK3, więc majstrowałem przy Ustawieniach systemu> Wspólny wygląd i zachowanie> Wygląd aplikacji> GTK> Wybierz motyw GTK3. Ta zmiana została odzwierciedlona w łączeniu, ale żadna z trzech wybranych przeze mnie opcji nie zmieniła tekstu. (Dostępne opcje to Default, Emacs i oxygen-gtk; ten ostatni jest używany na powyższym zrzucie ekranu).

Ręczna modyfikacja plików konfiguracyjnych

Szukałem ~plików z gtkich imieniem.

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

Co ciekawe, gtkw jego nazwie nie ma nic /root. Dlatego próbowałem usunąć niektóre ~pliki, aby sprawdzić, czy mogę uzyskać taki sam efekt dla mojego użytkownika. Zakładam, że wszystkie gtkrc-2.0pliki nie mają związku ze sobą.

Po pierwsze usunąłem ~/.config/gtk-3.0, ale to nie przyniosło żadnego efektu i zostało odtworzone, gdy otworzyłem meld.

Wydawało się ~/.kde4/share/config/gtkrc, że jedyną inną opcją jest , więc usunąłem to i rozpoczęliśmy łączenie, na które nie miało to wpływu. Plik nie został jednak ponownie utworzony i zawiera niektóre możliwe istotne linie (np text[ACTIVE] = { 1.000, 1.000, 1.000 }.). Nie jestem pewien, czy w ogóle (brakujący) plik został załadowany. Próbowałem kbuildsycoca4 ; kquitapp plasma-desktop ; sleep 2 ; kstart plasma-desktop, ale nie przyniosło to efektu. Czy muszę ręcznie ponownie ładować gtkrc? I dlaczego ustawienia systemowe nie zmieniają / nie zapisują tego pliku?

(Również FWIW, usunąłem ~/.gtkrc-2.0-kde4, co faktycznie było dowiązaniem symbolicznym ~/.gtkrc-2.0, i usunąłem również sam cel, ale to nie pomogło. Ponownie nie przeładowałem gtk (nie jestem pewien, czy jest to konieczne, lub możliwe), a pliki nie zostały ponownie utworzone, gdy próbowałem ponownie uruchomić meld.)

Prawdopodobnie odpowiednie zmienne środowiskowe

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

(Ujawnienie: Zadałem to pytanie na forach KDE , ale nie znalazłem rozwiązania).


Odpowiedź @tombart jest najbardziej aktualna, powinna być zaakceptowana
Francesco

@Francesco Nie, pytanie dotyczy regresji wprowadzonej trzy lata temu. Odpowiedź Tombarta opisuje podobny, ale osobny problem. Zapoznaj się dokładnie z pytaniem i odpowiedziami, aby uzyskać więcej informacji.
Sparhawk

przy okazji, przydało mi się to :)
Francesco

Bez obaw. Po części dlatego nie głosuję, aby to zamknąć (zgodnie z tym meta ).
Sparhawk,

Odpowiedzi:


16

Przynajmniej od Meld 3.16.4 obsługuje różne schematy kolorów.

Zobacz Meld > Preferences:

połączenie preferencji

(być może ta zmiana została wprowadzona we wcześniejszych wersjach)

Uwaga :
Można również wymusić określony motyw dla Meld by CLI:GTK_THEME=Adwaita:dark meld


4

Wygląda na to, że była to regresja wprowadzona w Meld 3.12.1. Pobrałem poprzednie wersje z meldunku stronie .

Meld 3.12.0 działa dobrze. 3.12.0

Meld 3.12.1 nie. wprowadź opis zdjęcia tutaj

Skontaktowałem się z deweloperami i powiedzieli mi, że to rzeczywiście regresja wprowadzona w porcie gtk + 3. Zasugerowali wypróbowanie właśnie wydanej wersji 3.12.3, która teraz działa. (Jednak nadal nie wyjaśnia w pełni, dlaczego połączenie nowego konta miałoby działać).


Czy Meld 3.12.1 jest nadal taki sam po uruchomieniu 3.12.0?
Graeme

@Graeme Tak, to prawda. Prawdopodobnie nieważne, ale uruchomiłem je bezpośrednio z nieskompresowanych plików.
Sparhawk

Czy istnieją dwie zależności Gnome między dwiema wersjami? Jakiej dystrybucji używasz i jak instalujesz?
Graeme

@Graeme Korzystam z Arch, instaluję z oficjalnych repozytoriów. Wszystkie zależności dwóch wersji są identyczne.
Sparhawk

1
@Graeme Zaktualizowałem odpowiedź.
Sparhawk

3

Jeśli to zrobię locate -b meld | grep home, otrzymam trzy katalogi, o których nie wspomniałeś;

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

Ten jeden ~/.local/sharewydaje się być historią lokalnych porównań, ale dwa pozostałe katalogi mają xmlw sobie pliki. Spróbowałbym je usunąć.

Jeśli to nie zadziała, możesz dokładnie zobaczyć, które pliki meldczyta przy pomocy czegoś takiego:

strace -e trace=file meld |& grep home

Patrząc na wyniki, mam nadzieję, że przyniesie coś innego do zbadania.

W przeciwnym razie spróbuję utworzyć kolejne konto użytkownika, zalogować się i uruchomić tam połączenie (ale nic więcej). Jeśli wyświetla się ok, możesz wyświetlić tam pliki kropkowe / zmienne środowiskowe i porównać je z własnym kontem. Pamiętaj, że powinieneś zalogować się przez X, a nie tylko używać sulub w sudotaki sposób, aby środowisko pulpitu miało szansę na utworzenie domyślnych plików kropek - zapewne dlatego będzie wyglądać gładko podczas uruchamiania jako root.

Jeśli to nie zadziała, zawsze możesz się poddać i zamiast tego użyć Diffuse . Nie przetestowałem go jeszcze poprawnie, ale robi pewne rzeczy, meldktórych nie można (choć nie ma porównań katalogów, więc nie całkiem zastępuje). :)

Aktualizacja

Aby spróbować wyśledzić szkodliwe pliki, możesz porównać pliki kropek na nowym koncie ze starym. Niestety może to być prawie dowolny plik kropkowy na nowym koncie, dlatego ważne jest, aby nie uruchamiać żadnych innych aplikacji (zwłaszcza przeglądarki internetowej), ponieważ spowoduje to dalsze tworzenie / zmianę. Aby porównać pliki, możesz spróbować uruchomić coś takiego na nowym koncie:

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

Dla tych, którzy są inni, możesz zbadać dalej, er, Meld. Jeśli to nic nie da, prawdopodobnie istnieje plik, który chcesz usunąć i który byłby trudny do znalezienia. Możesz spróbować wrócić stracei porównać wyniki z dwóch kont.


+1 za szczegółową strategię. Nie mam go jeszcze do pracy, ale oto wyniki do tej pory. Usunięcie dwóch sugerowanych katalogów, a następnie ponowne uruchomienie połączenia nie działało. straceujawniła następujące kandydatury: ~/.config/gtk-3.0/settings.ini, ~/.config/oxygen-gtk, ~/.kde4/share/config/kdeglobals, /home/lee/.kde4/share/config/oxygenrc. Pierwsza została już podjęta, ale z kolei usunięcie pozostałych nie zadziałało. Spróbuję teraz utworzyć nowe konto.
Sparhawk

Utworzyłem nowe konto i tak, tam tekst wygląda dobrze. Jak na pytanie, spojrzał na zmienne środowiska (z export | grep -i gtk), a jedyna różnica dotyczyła obecność poniżej w oryginalnych, nie działa konta: declare -x GTK_IM_MODULE="xim". Nie jestem pewien, jakich plików szukać. Szukałem plików o nazwach gtklub meldw ich nazwach, ale znalazłem tylko te powyżej, które już przetestowałem.
Sparhawk

@Sparhawk, zaktualizowano. Wątpię, czy to coś zmieni, ale nie ma nic złego w zrobieniu unset GTK_IM_MODULEz linii poleceń, a następnie uruchamianiu meldz tej samej powłoki.
Graeme

Zaktualizowałem swoją odpowiedź.
Sparhawk


1

zastąp meld.css tamtym, a będziesz mógł używać Melda z ciemnym motywem https://wiki.gnome.org/Apps/Meld/DarkThemes


Nie chciałem używać ciemnego motywu. To pytanie nie dotyczyło ogólnej zmiany motywu, dotyczyło tylko określonego elementu, tj. Wspólnych linii. Zgodnie z przyjętą odpowiedzią była to regresja, która została już naprawiona.
Sparhawk

Dla tego, co jest warte ... Dla moich celów była to idealna odpowiedź - Przełączenie gtk na ciemny motyw sprawia, że ​​tekst jest nieczytelny
Dmitri DB
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.