Tôi không tin rằng nó có thể với một sửa đổi gtkrc.
Ngay cả khi bạn thêm mã này vào cuối gtkrc của mình:
style "fontchangetest" {
font_name = "Sans 20"
}
class "GtkWidget" style "fontchangetest"
Khởi động lại Geany (hoặc bất kỳ ứng dụng GTK2 nào cho vấn đề đó) và rất nhiều widget UI sẽ lấy thuộc tính này, tuy nhiên, trình soạn thảo mã thực tế và danh sách tự động hoàn thành sẽ giữ lại phông chữ được chỉ định bởi Geany.
Tuy nhiên, hãy kiểm tra mã nguồn:
apt-get source geany
cd geany-0.20
Phông chữ cho hộp tự động hoàn thành được xác định trong scintilla / ScintillaBase.cxx, dòng 264:
ac.lb->SetFont(vs.styles[STYLE_DEFAULT].font);
Các SetFont
chức năng chỉ được sử dụng cho ListBox autocomplete (xác với ' ack SetFont'), do đó không có hại trong việc thay đổi nó.
Mở scintilla / PlatGTK.cxx, điều hướng đến dòng 2029. Bạn sẽ thấy mã này:
void ListBoxX::SetFont(Font &scint_font) {
// Only do for Pango font as there have been crashes for GDK fonts
if (Created() && PFont(scint_font)->pfd) {
// Current font is Pango font
gtk_widget_modify_font(PWidget(list), PFont(scint_font)->pfd);
}
}
Thay thế bằng:
void ListBoxX::SetFont(Font &scint_font) {
// Only do for Pango font as there have been crashes for GDK fonts
if (Created() && PFont(scint_font)->pfd) {
// Current font is Pango font
PangoFontDescription* pf = pango_font_description_from_string("Sans 6");
gtk_widget_modify_font(PWidget(list), pf);
}
}
Rõ ràng bạn có thể thay đổi 'Sans 6' thành bất kỳ phông chữ và kích thước nào bạn thích. Đây là một giải pháp rất khó, tuy nhiên tôi không biết C / C ++ nên có lẽ có một cách thanh lịch hơn để làm điều đó.
Sau đó, bạn có thể:
./configure && make && sudo make install
Để thực hiện biên dịch và cài đặt nhanh (mặc dù vậy, nghiêm túc khuyên bạn nên gỡ bỏ gói geany hiện có trước)
Hoặc cách chính xác hơn:
sudo aptitude install build-essential devscripts ubuntu-dev-tools \
debhelper dh-make diff patch cdbs quilt gnupg fakeroot lintian \
pbuilder piuparts intltool chrpath
debuild
cd ..
sudo dpkg -i geany_0.20-1.1ubuntu1_amd64.deb
Để xây dựng một gói mới bao gồm các thay đổi và sau đó cài đặt nó.