Làm thế nào tôi có thể làm cho văn bản trong meld có thể đọc được?


16

Vài tháng trước, meldbắt đầu cư xử kỳ quặc. Các dòng phổ biến hầu như không thể đọc được và được hiển thị dưới dạng văn bản màu xám đậm trên nền đen.

thất bại

Thật kỳ lạ, chạy nó như root là tốt (với kdesudo meld), mặc dù chủ đề là ít đẹp.

công trình gốc

Làm cách nào tôi có thể chỉ định các tùy chọn màu của văn bản cho meld?

Tôi đang sử dụng:

  • Arch Linux
  • KDE 4.14.3 (cũng được thấy trong 4.14.2)
  • meld 3.12.2 (cũng thấy trong 3.12.1)
  • gtk3 3.14.6 (cũng được thấy trong 3.14.5)

Xử lý sự cố

Cài đặt hệ thống KDE

meldsử dụng GTK3, vì vậy tôi đã thay đổi Cài đặt hệ thống> Giao diện và hành vi chung> Giao diện ứng dụng> GTK> Chọn Chủ đề GTK3. Thay đổi này được phản ánh trong meld, nhưng không có tùy chọn nào trong ba tùy chọn tôi chọn đã thay đổi văn bản. (Các tùy chọn khả dụng là Mặc định, Emacs và oxy-gtk; tùy chọn sau được sử dụng trong ảnh chụp màn hình ở trên.)

Thủ công sửa đổi tập tin cấu hình

Tôi tìm trong ~các tập tin có gtktên của họ.

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

Thật thú vị, không có gì với gtktên của nó trong /root. Do đó, tôi đã thử xóa một số ~tệp để xem liệu tôi có thể có được hiệu ứng tương tự cho người dùng của mình không. Tôi đoán tất cả các gtkrc-2.0tập tin là không liên quan đến meld.

Đầu tiên, tôi đã xóa ~/.config/gtk-3.0, nhưng điều này không có tác dụng, và được tạo lại khi tôi mở meld.

Tùy chọn duy nhất khác có vẻ là ~/.kde4/share/config/gtkrc, vì vậy đã xóa cái này và bắt đầu meld, không bị ảnh hưởng. Tuy nhiên, tệp không được tạo lại và nó chứa một số dòng có thể thích hợp (ví dụ text[ACTIVE] = { 1.000, 1.000, 1.000 }). Tôi không chắc chắn nếu tập tin (thiếu) đã được tải. Tôi đã thử kbuildsycoca4 ; kquitapp plasma-desktop ; sleep 2 ; kstart plasma-desktop, nhưng điều này không có hiệu quả. Tôi có cần tải lại thủ công gtkrc không? Và tại sao tệp này không bị ảnh hưởng / ghi lại bởi cài đặt hệ thống?

(Ngoài ra, FWIW, tôi đã xóa ~/.gtkrc-2.0-kde4, đây thực sự là một liên kết tượng trưng ~/.gtkrc-2.0và tôi cũng đã xóa mục tiêu đó, nhưng điều đó không giúp ích gì được. có thể) và các tệp không được tạo lại khi tôi thử chạy lại meld.)

Có thể biến môi trường thích hợp

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

(Tiết lộ: Trước đây tôi đã hỏi câu hỏi này trên các diễn đàn KDE , nhưng không đi đến giải pháp.)


Câu trả lời @tombart là câu trả lời được cập nhật nhiều nhất, nên được chấp nhận
Francesco

@Francesco Không, câu hỏi liên quan đến hồi quy được giới thiệu ba năm trước. Câu trả lời của Tombart mô tả một vấn đề tương tự, nhưng riêng biệt. Có một đọc kỹ thông qua các câu hỏi và câu trả lời để biết thêm chi tiết.
Sparhawk

Nhân tiện, nó rất hữu ích với tôi :)
Francesco

Đừng lo lắng. Đó là một phần lý do tại sao tôi không bỏ phiếu để đóng cái này (theo meta này ).
Sparhawk

Câu trả lời:


16

Ít nhất từ ​​Meld 3.16.4 hỗ trợ các bảng màu khác nhau.

Xem Meld > Preferences:

meld thích

(có thể thay đổi này đã được giới thiệu trong các phiên bản trước)

Lưu ý :
Cũng có thể buộc một chủ đề cụ thể cho Meld bởi CLI:GTK_THEME=Adwaita:dark meld


4

Có vẻ như đó là một hồi quy được giới thiệu trong Meld 3.12.1. Tôi đã tải xuống các phiên bản trước từ trang web meld .

Meld 3.12.0 hoạt động tốt. 3.12.0

Meld 3.12.1 thì không. nhập mô tả hình ảnh ở đây

Tôi đã liên lạc với các nhà phát triển và họ nói với tôi rằng đó thực sự là một hồi quy được giới thiệu trong cổng gtk + 3. Họ đề nghị dùng thử bản 3.12.3 vừa phát hành, hiện đã hoạt động. (Tuy nhiên, nó vẫn không giải thích đầy đủ lý do tại sao việc kết hợp trong tài khoản mới sẽ hoạt động.)


Meld 3.12.1 có còn như vậy sau khi 3.12.0 được chạy không?
Graeme

@Graeme Vâng, đúng vậy. Có lẽ không quan trọng, nhưng tôi đã chạy chúng trực tiếp từ các tệp không nén.
Sparhawk

Có sự phụ thuộc Gnome khác nhau giữa hai phiên bản không? Bạn đang sử dụng bản phân phối nào và cài đặt như thế nào?
Graeme

@Graeme Tôi đang sử dụng Arch, cài đặt từ repos chính thức. Tất cả các phụ thuộc của hai phiên bản là giống hệt nhau.
Sparhawk

1
@Graeme Tôi đã cập nhật câu trả lời.
Sparhawk

3

Nếu tôi làm locate -b meld | grep home, tôi nhận được ba thư mục bạn chưa đề cập;

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

Một trong những ~/.local/sharedường như chỉ là một lịch sử so sánh địa phương, nhưng hai thư mục khác có xmltệp trong đó. Tôi sẽ thử loại bỏ chúng.

Nếu điều đó không hiệu quả, bạn có thể xem chính xác tập tin nào meldđọc với nội dung như:

strace -e trace=file meld |& grep home

Nhìn vào đầu ra sẽ hy vọng mang lại một cái gì đó khác để điều tra.

Không thể tôi sẽ thử tạo một tài khoản người dùng khác, đăng nhập và chạy meld (nhưng không có gì khác) ở đó. Nếu nó hiển thị ổn, bạn có thể xem các tệp chấm / biến môi trường ở đó và so sánh chúng với tài khoản của riêng bạn. Lưu ý rằng bạn nên đăng nhập qua X và không chỉ sử dụng suhoặc sudođể môi trường máy tính để bàn của bạn có cơ hội tạo các tệp chấm mặc định - đây có thể là lý do tại sao nó trông đơn giản khi chạy bằng root.

Nếu không có cái nào hoạt động, bạn luôn có thể từ bỏ và sử dụng Diffuse thay thế. Tôi đã không tự mình kiểm tra nó một cách chính xác, nhưng nó thực hiện một số điều meldkhông thể (mặc dù không có so sánh thư mục, vì vậy không hoàn toàn thay thế). :)

Cập nhật

Để cố gắng theo dõi (các) tệp vi phạm, bạn có thể so sánh các tệp chấm trong tài khoản mới với tài khoản cũ. Thật không may, nó có thể là hầu hết các tệp chấm trong tài khoản mới, đó là lý do tại sao điều quan trọng là không chạy bất kỳ ứng dụng nào khác (đặc biệt là trình duyệt web) vì điều này sẽ tạo / thay đổi nhiều hơn. Để so sánh các tệp bạn có thể thử chạy một cái gì đó như thế này trong tài khoản mới:

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

Đối với những cái khác nhau, bạn có thể điều tra thêm với, er, Meld. Nếu điều này không mang lại bất cứ điều gì thì có lẽ có một tệp mà bạn muốn loại bỏ rất khó tìm. Bạn có thể thử quay lại stracevà so sánh kết quả đầu ra từ hai tài khoản.


+1 cho chiến lược chi tiết. Tôi chưa có nó để làm việc, nhưng đây là kết quả cho đến nay. Xóa hai thư mục được đề xuất sau đó khởi động lại meld không hoạt động. stracetiết lộ các ứng viên sau: ~/.config/gtk-3.0/settings.ini, ~/.config/oxygen-gtk, ~/.kde4/share/config/kdeglobals, /home/lee/.kde4/share/config/oxygenrc. Việc đầu tiên đã được thử, nhưng lần lượt xóa phần còn lại không hiệu quả. Tôi sẽ thử tạo một tài khoản mới tiếp theo.
Sparhawk

Tôi đã tạo một tài khoản mới, và vâng, văn bản có vẻ tốt ở đó. Theo câu hỏi, tôi đã xem xét các biến môi trường (với export | grep -i gtk), nhưng sự khác biệt duy nhất là sự hiện diện của các mục sau trong tài khoản gốc, không hoạt động : declare -x GTK_IM_MODULE="xim". Tôi không thực sự chắc chắn những gì tập tin để tìm kiếm. Tôi đã tìm kiếm các tập tin có gtkhoặc meldtên của họ, nhưng chỉ tìm thấy những cái ở trên, mà tôi đã thử nghiệm.
Sparhawk

@Sparhawk, cập nhật. Tôi nghi ngờ nó sẽ làm cho bất kỳ sự khác biệt, nhưng không có hại trong việc thực hiện một unset GTK_IM_MODULEtừ dòng lệnh và sau đó chạy meldtừ cùng một vỏ.
Graeme

Tôi đã cập nhật câu trả lời của mình.
Sparhawk

3

chỉ để cập nhật ...

Phiên bản 3.18 sẽ không hiển thị tùy chọn để thay đổi chủ đề của bạn.

nhưng bằng trình soạn thảo dconf, bạn có thể truy cập cấu hình meld và đặt chema style thành 'meld-dark' ... và hãy hạnh phúc!

gần như thế: https://linux.m2osw.com/no-meld-preferences-menu

nhập mô tả hình ảnh ở đây


1

ghi đè lên meld.css với cái đó và bạn sẽ có thể sử dụng Meld với chủ đề tối https://wiki.gnome.org/Apps/Meld/DarkTheme


Tôi không muốn sử dụng một chủ đề tối. Câu hỏi này không phải là về việc thay đổi chủ đề tổng thể, nó chỉ là về một yếu tố cụ thể, tức là các dòng chung. Theo câu trả lời được chấp nhận, đó là một hồi quy đã được sửa chữa.
Sparhawk

Đối với những gì nó có giá trị ... Đối với mục đích của tôi, đây là câu trả lời hoàn hảo - Chuyển gtk sang chủ đề tối thực hiện công việc tuyệt vời khiến văn bản không thể đọc được
Dmitri DB
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.