Як я можу зробити текст у поле для читання?


16

Кілька місяців тому meldпочав вести себе дивно. Загальні лінії майже не читаються і відображаються у вигляді темно-сірого тексту на чорному тлі.

невдача

Як не дивно, запустити його як root добре (з kdesudo meld), хоча тема менш симпатична.

працює коренева мель

Як я можу вказати параметри кольору тексту для meld?

Я використовую:

  • Arch Linux
  • KDE 4.14.3 (також видно в 4.14.2)
  • meld 3.12.2 (також видно в 3.12.1)
  • gtk3 3.14.6 (також видно в 3.14.5)

Вирішення проблем

Налаштування системи KDE

meldвикористовує GTK3, тому я познайомився з Налаштуваннями системи> Загальний зовнішній вигляд та поведінка> Зовнішній вигляд програми> GTK> Виберіть тему GTK3. Ця зміна відобразилася в meld, але жоден із трьох вибраних вами варіантів не змінив текст. (Доступні параметри були за замовчуванням, Emacs та киснем-gtk; останній використовується на скріншоті вище.)

Змінення конфігураційних файлів вручну

Я шукав ~файли з gtkїх іменем.

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

Цікаво, що gtkв його назві немає нічого /root. Отже, я спробував видалити деякі ~файли, щоб побачити, чи можу я отримати такий же ефект для свого користувача. Я припускаю, що всі gtkrc-2.0файли не мають значення для об'єднання.

По-перше, я видалив ~/.config/gtk-3.0, але це не мало ефекту, і було відтворено, коли я відкрив meld.

Єдиним іншим варіантом виявився такий ~/.kde4/share/config/gtkrc, тому видалили це і розпочали плавлення, на що це не впливало. Однак файл не був відтворений, і він містить деякі, можливо, відповідні рядки (наприклад text[ACTIVE] = { 1.000, 1.000, 1.000 }). Я не впевнений, що файл (відсутній) взагалі завантажений. Я спробував kbuildsycoca4 ; kquitapp plasma-desktop ; sleep 2 ; kstart plasma-desktop, але це не мало ефекту. Чи потрібно вручну перезавантажувати gtkrc? І чому системний параметр не впливає / переписується на цей файл?

(Також FWIW, я видалив ~/.gtkrc-2.0-kde4, що насправді було символьним посиланням ~/.gtkrc-2.0, і я також видалив саму ціль, але це не допомогло. Знову ж таки, я не перезавантажував gtk (я не впевнений, чи потрібно це, або можливо), і файли не були створені заново, коли я знову спробував запустити meld.)

Можливо відповідні змінні середовища

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

(Розкриття інформації: я раніше задавав це питання на форумах KDE , але не знайшов рішення.)


Відповідь @tombart є найбільш оновленою, має бути прийнятою
Francesco

@Francesco Ні, питання стосується регресії, запровадженої три роки тому. Відповідь Томбарта описує подібне, але окреме питання. Ретельно прочитайте питання та відповіді, щоб отримати докладнішу інформацію.
Sparhawk

добре, мені до речі було корисно :)
Франческо

Не хвилюйтесь. Частково тому я не голосую за те, щоб закрити це (відповідно до цієї мета ).
Sparhawk

Відповіді:


16

Принаймні з Meld 3.16.4 підтримують різні кольорові гами.

Дивіться Meld > Preferences:

переважати переваги

(можливо, ця зміна була введена в попередніх версіях)

Примітка .
Також можна застосувати певну тему для Meld від CLI:GTK_THEME=Adwaita:dark meld


4

Схоже, це була регресія, введена в Мельді 3.12.1. Я завантажив попередні версії з веб-сайту meld .

Meld 3.12.0 працює чудово. 3.12.0

Meld 3.12.1 не робить. введіть тут опис зображення

Я зв’язався з дияволами, і вони сказали мені, що це справді регресія, введена в порту gtk + 3. Вони запропонували спробувати щойно випущений 3.12.3, який зараз працює. (Однак, це все ще не повністю пояснює, чому буде функціонувати керування в новому обліковому записі.)


Чи залишається Meld 3.12.1 тим самим після запуску 3.12.0?
Graeme

@Graeme Так, так. Напевно, це не важливо, але я запускав їх безпосередньо з нестиснених файлів.
Sparhawk

Чи існують різні залежності Gnome між двома версіями? Який дистрибутив ви використовуєте та як встановлюєте?
Граем

@Graeme Я використовую Arch, встановлюючи з офіційних репостів. Всі залежності двох версій однакові.
Sparhawk

1
@Graeme Я оновив відповідь.
Sparhawk

3

Якщо я це роблю locate -b meld | grep home, я отримую три каталоги, які ви не згадали;

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

Один, що ~/.local/shareздається, є історією місцевих порівнянь, але в двох інших каталогах є xmlфайли в них. Я б спробував їх видалити.

Якщо це не працює, ви можете точно побачити, які файли meldчитає щось на кшталт:

strace -e trace=file meld |& grep home

Дивлячись на результати, ми, сподіваємось, повинні дати щось інше для дослідження.

Якщо цього не вдалося, я спробую створити інший обліковий запис користувача, увійти та запустити meld (але нічого іншого) там. Якщо він відображається нормально, ви можете переглядати там точкові файли / змінні середовища та порівнювати їх із власним обліковим записом. Зверніть увагу, що ви повинні увійти через X, а не просто використовувати suабо sudoтак, щоб ваше середовище робочого столу отримало шанс створити файли точок за замовчуванням - це, швидше за все, виглядає просто, коли він працює як root.

Якщо нічого з цього не працює, ви завжди можете відмовитися і використовувати Diffuse замість цього. Я ще не перевірив її належним чином, але це робить деякі речі, які meldне вдається (хоча порівняння каталогів не є, тому не зовсім заміною). :)

Оновлення

Щоб спробувати відстежувати файли, які порушують право, ви можете порівняти крапкові файли в новому обліковому записі зі старими. На жаль, це може бути майже будь-який із точкових файлів у новому обліковому записі, тому важливо не запускати будь-які інші програми (особливо веб-браузер), оскільки це створить / змінить більше. Для порівняння файлів ви можете спробувати запустити щось подібне в новому обліковому записі:

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

Для тих, що відрізняються, ви могли б далі дослідити за допомогою, er, Meld. Якщо це нічого не дає, то, ймовірно, є файл, який ви хочете видалити, який було б важко знайти. Ви можете спробувати повернутися до straceта порівняти результати з двох облікових записів.


+1 для детальної стратегії. У мене ще це не працює, але ось результати поки що. Видалення двох запропонованих каталогів після цього перезавантаження meld не працювало. straceбули виявлені наступні кандидати: ~/.config/gtk-3.0/settings.ini, ~/.config/oxygen-gtk, ~/.kde4/share/config/kdeglobals, /home/lee/.kde4/share/config/oxygenrc. Перша вже була зроблена спроба, але видалити решту по черзі не вийшло. Спробую створити новий акаунт далі.
Спархак

Я створив новий акаунт, і так, текст там добре виглядає. З цього питання, я подивився на змінні середовища (з export | grep -i gtk), але з тією лише різницею наявність наступних в оригіналі, непрацюючі рахунки: declare -x GTK_IM_MODULE="xim". Я не дуже впевнений, які файли шукати. Я шукав файли з їхніми іменами gtkабо meldв них, але знаходив лише ті, що були вище, які я вже перевірив.
Sparhawk

@Sparhawk, оновлено. Я сумніваюся, що це матиме будь-яку зміну, але немає шкоди виконувати unset GTK_IM_MODULEкомандний рядок, а потім працювати meldз тієї ж оболонки.
Граем

Я оновив свою відповідь.
Sparhawk

3

залишаючи лише оновлення ...

Версія 3.18 не відображатиме налаштування для зміни вашої теми.

але за допомогою dconf-редактора ви можете отримати доступ до конфігурації meld та встановити стиль-chema на 'meld-dark' ... і будьте щасливі!

майже так: https://linux.m2osw.com/no-meld-preferences-menu

введіть тут опис зображення


1

перезапишіть meld.css тим, хто там, і ви зможете використовувати Meld з темною темою https://wiki.gnome.org/Apps/Meld/DarkThemes


Я не хотів використовувати темну тему. Це питання не стосувалося зміни теми в цілому, а лише про конкретний елемент, тобто загальні лінії. Відповідно до прийнятої відповіді, з тих пір було виправлено регресію.
Sparhawk

Для чого це варто ... Для моїх цілей це була ідеальна відповідь - Перехід gtk на темну тему робить чудову роботу, щоб зробити текст у полі нечитабельним
Дмитро БД,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.