Como alterar o tamanho da fonte na caixa de depósito de preenchimento automático

2

Screenshot:

Eu provavelmente preciso alterar algo no arquivo gtkrc do tema, mas não consigo encontrar o que precisa ser alterado para reduzir o tamanho da fonte em uma unidade

Apenas para referência, encontrei uma pergunta semelhante no SO (embora seja sobre o Ubuntu 11.10): Como alterar a cor de destaque na caixa de preenchimento automático no Eclipse , que mostra que mesmo o Eclipse está usando isso a partir da configuração do sistema, mas para ser mais confuso a fonte é menor (como Eu quero que seja)

    
por zetah 29.12.2011 / 13:55

1 resposta

6

Eu não acredito que seja possível com uma modificação do gtkrc.

Mesmo se você adicionar este código ao final do seu gtkrc:

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

class "GtkWidget" style "fontchangetest"

Reinicie o Geany (ou qualquer aplicativo GTK2) e muitos dos widgets da UI terão essa propriedade, no entanto, o editor de código real e a lista de autocompletar manterão a fonte designada por Geany.

No entanto, vamos verificar o código-fonte:

apt-get source geany
cd geany-0.20

A fonte da caixa de preenchimento automático é definida em scintilla / ScintillaBase.cxx, linha 264:

ac.lb->SetFont(vs.styles[STYLE_DEFAULT].font);

A função SetFont é usada apenas para a caixa de listagem autocomplete (verificada com ' ack SetFont'), portanto, não há problema em alterá-la.

Abra scintilla / PlatGTK.cxx, navegue até a linha 2029. Você verá este código:

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);
    }
}

Substitua por:

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);
    }
}

Obviamente, você pode alterar o 'Sans 6' para qualquer fonte e tamanho que desejar. Esta é uma solução muito hacky, no entanto eu não sei C / C ++, então talvez haja uma maneira mais elegante de fazê-lo.

Então você pode:

./configure && make && sudo make install

Para fazer uma compilação e instalação rápidas (aconselharia seriamente a remoção do pacote geany existente antes)

Ou a maneira mais correta:

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

Para criar um novo pacote incluindo as alterações e, em seguida, instale-o.

    
por benwh 05.01.2012 / 03:44