Как изменить размер шрифта в выпадающем списке автозаполнения

Снимок экрана:

Screenshot

Возможно, мне нужно что-то изменить в файле темы gtkrc, но я не могу найти то, что нужно изменить, чтобы я уменьшить размер шрифта на одну единицу

Просто для справки, я нашел похожий вопрос по SO (хотя это касается Ubuntu 11.10): Как изменить цвет подсветки в окне автозаполнения в Eclipse , где что даже Eclipse использует это из системных настроек, но чтобы быть более запутанным, шрифт там меньше (как я хочу, чтобы это было)

2
задан 23 May 2017 в 15:39

1 ответ

Я не полагаю, что это возможно с gtkrc модификацией.

Даже если Вы добавляете этот код в конец своего gtkrc:

style "fontchangetest" {
    font_name = "Sans 20"
}

class "GtkWidget" style "fontchangetest"

Перезапустите Geany (или любое приложение GTK2 в этом отношении), и много виджетов UI возьмет это свойство, однако фактический редактор кода и автоматически заполнит список, сохранит шрифт, определяемый 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);
    }
}

Очевидно, можно измениться 'Без 6', чтобы быть безотносительно шрифта и измерить Вас как. Это очень hacky решение, однако я не знаю 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

Создавать новый пакет включая изменения и затем устанавливать его.

6
ответ дан 23 May 2017 в 15:39

Другие вопросы по тегам:

Похожие вопросы: