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


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.