如何使融合中的文本可讀?
幾個月前,
meld
開始表現得很奇怪。公共行幾乎不可讀,並顯示為黑色背景上的深灰色文本。奇怪的是,以 root 身份執行它很好(使用
kdesudo meld
),儘管主題不那麼漂亮。如何為融合指定文本的顏色選項?
我正在使用:
- Arch Linux
- KDE 4.14.3(也見於 4.14.2)
- 融合 3.12.2(也見於 3.12.1)
- gtk3 3.14.6(也見於 3.14.5)
故障排除
KDE 系統設置
meld
使用 GTK3,所以我擺弄了 System Settings > Common Appearance and Behavior > Application Appearance > GTK > Select a GTK3 Theme。這種變化反映在融合中,但我選擇的三個選項都沒有改變文本。(可用的選項是 Default、Emacs 和 oxygen-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 論壇上問過這個問題,但沒有找到解決方案。)
至少從 Meld 3.16.4 開始支持不同的配色方案。
見
Meld > Preferences
:(可能此更改是在早期版本中引入的)
注意:
也可以通過 CLI 強制 Meld 的特定主題:
GTK_THEME=Adwaita:dark meld
只讓更新…
3.18 版本不會顯示更改主題的偏好。
但是通過 dconf-editor,您可以訪問 meld 配置並將 style-chema 設置為 ‘meld-dark’ ……並且很高興!