Как изменить размер шрифта в выпадающем списке автозаполнения
Скриншот:
Мне наверное нужно что то менять в теме gtkrc
файл, но я не могу найти то, что нужно изменить, чтобы уменьшить размер шрифта на одну единицу
Просто для справки, я нашел похожий вопрос по SO (хотя это касается Ubuntu 11.10): Как изменить цвет подсветки в окне автозаполнения в Eclipse, что показывает, что даже Eclipse использует это из системных настроек, но для более запутанного шрифта есть меньше (как я хочу, чтобы это было)
1 ответ
Я не верю, что это возможно с модификацией gtkrc.
Даже если вы добавите этот код в конец вашего gtkrc:
style "fontchangetest" {
font_name = "Sans 20"
}
class "GtkWidget" style "fontchangetest"
Перезапустите Geany (или любое другое приложение GTK2), и многие виджеты пользовательского интерфейса получат это свойство, однако редактор фактического кода и список автозаполнения сохранят шрифт, указанный Geany.
Однако давайте проверим исходный код:
apt-get source geany
cd geany-0.20
Шрифт для поля автозаполнения определяется в scintilla/ScintillaBase.cxx, строка 264:
ac.lb->SetFont(vs.styles[STYLE_DEFAULT].font);
SetFont
Функция используется только для списка автозаполнения (проверяется с помощью ' ack SetFont'), поэтому изменение его без вреда.
Откройте файл scintilla/PlatGTK.cxx, перейдите к строке 2029. Вы увидите этот код:
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);
}
}
Заменить его на:
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);
}
}
Очевидно, вы можете изменить "Sans 6" на любой шрифт и размер. Это очень хакерское решение, однако я не знаю C/C++, так что, возможно, есть более элегантный способ сделать это.
Тогда вы можете либо:
./configure && make && sudo make install
Быстрая компиляция и установка (хотя бы советую сначала удалить существующий пакет geany)
Или более правильный путь:
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
Чтобы создать новый пакет, включая изменения, а затем установить его.