Como alterar a cor E a largura das barras de rolagem não overlay no Ubuntu 12.04

13

Eu sei que muitas pessoas se queixaram das barras de rolagem quase invisíveis e não utilizáveis em versões recentes do Ubuntu, mesmo depois de remover ou desabilitar as barras de rolagem de sobreposição padrão. Gostaria de saber como posso alterar facilmente a cor e a largura deles.

Eu tenho um monitor de 13,3 polegadas com resolução de 1600 * 900 e mal posso vê-los, como você pode ver nas imagens:

Eu já troquei o Firefox, o LibreOffice e outras barras de rolagem de software usando o GNOME Color Chooser:

A propósito, estou usando o Unity. Obrigado!

    
por Chuqui 23.09.2012 / 17:10

3 respostas

4

Nota:

As formatações nesta resposta são ótimas para precisão (somente no Ubuntu 12.04), veja a próxima resposta para formatações aprimoradas para o trusty (Ubuntu 14.04).

Tornar as barras de rolagem visíveis (mudar de cor)

Com base nas informações do vasa1 fornecidas acima, mudei a cor das barras de rolagem clássicas para a cor de seleção padrão - o mesmo que as barras de rolagem de sobreposição estão usando também.

Para aplicações GTK 3, modifique:

gksu gedit /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css

a partir da linha 1580 para que pareça:

.scrollbar.slider,
.scrollbar.slider:hover,
.scrollbar.button,
.scrollbar.slider.vertical,
.scrollbar.button.vertical {
    background-image: -gtk-gradient (linear, left top, right top,
                                     from (shade (@selected_bg_color, 1.38)),
                                     to (shade (@selected_bg_color, 1.22)));
    border-style: solid;
    border-width: 1px;

    -unico-border-gradient: -gtk-gradient (linear, left top, right top,
                                           from (shade (@selected_bg_color, 1.14)),
                                           to (shade (@selected_bg_color, 1.14)));
    -unico-centroid-texture:  url("assets/scrollbar_handle_vertical.png");
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, right top,
                                                 from (shade (@selected_bg_color, 1.46)),
                                                 to (shade (@selected_bg_color, 1.3)));
    -unico-inner-stroke-width: 1px;
}

.scrollbar.slider.vertical:hover {
    background-image: -gtk-gradient (linear, left top, right top,
                                     from (shade (@selected_bg_color, 1.28)),
                                     to (shade (@selected_bg_color, 1.02)));
    border-style: solid;
    border-width: 1px;

    -unico-border-gradient: -gtk-gradient (linear, left top, right top,
                                           from (shade (@selected_bg_color, 0.94)),
                                           to (shade (@selected_bg_color, 0.94)));
    -unico-centroid-texture:  url("assets/scrollbar_handle_vertical.png");
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, right top,
                                                 from (shade (@selected_bg_color, 1.36)),
                                                 to (shade (@selected_bg_color, 1.1)));
    -unico-inner-stroke-width: 1px;
}

.scrollbar.slider.horizontal,
.scrollbar.button.horizontal {                                   
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@selected_bg_color, 1.38)),
                                     to (shade (@selected_bg_color, 1.22)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@selected_bg_color, 1.14)),
                                           to (shade (@selected_bg_color, 1.14)));
    -unico-centroid-texture:  url("assets/scrollbar_handle.png");
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@selected_bg_color, 1.46)),
                                                 to (shade (@selected_bg_color, 1.3)));
}

.scrollbar.slider.horizontal:hover {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@selected_bg_color, 1.28)),
                                     to (shade (@selected_bg_color, 1.02)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@selected_bg_color, 0.94)),
                                           to (shade (@selected_bg_color, 0.94)));
    -unico-centroid-texture:  url("assets/scrollbar_handle.png");
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@selected_bg_color, 1.36)),
                                                 to (shade (@selected_bg_color, 1.1)));
}


.scrollbar.button,
.scrollbar.button:insensitive {
    -unico-outer-stroke-width: 0;
}

Isso deve ser padrão.

Para aplicações GTK 2, modifique:

gksu gedit /usr/share/themes/Ambiance/gtk-2.0/gtkrc

a partir da linha 223 para que pareça:

style "scrollbar" = "button" {
    xthickness = 2
    ythickness = 2

    bg[NORMAL] = shade(1.3, @selected_bg_color)
    bg[PRELIGHT] = shade (1.04, @selected_bg_color)

    bg[ACTIVE] = shade (0.96, @selected_bg_color)

    engine "murrine"
    {
        border_shades = {1.15, 1.1}
        roundness = 20
        contrast = 1.0
        trough_shades = {0.92, 0.98}
        lightborder_shade = 1.3
        glowstyle = 5
        glow_shade = 1.02
        gradient_shades = {1.2, 1.0, 1.0, 0.86}
        trough_border_shades = {0.9, 0.98}
    }
}

Ele não parece 100% idêntico ao formato do GTK 3, portanto sinta-se à vontade para melhorá-lo.

Tornar as barras de rolagem clicáveis (aumentar a largura)

Para aumentar a pequena largura que nunca foi feita para uso na produção, presumo que faça as seguintes alterações nos mesmos arquivos.

Para aplicativos GTK 3:

gksu gedit /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css

modifique a linha 1550 para que pareça:

.scrollbar {
    -GtkScrollbar-has-backward-stepper: 0;
    -GtkScrollbar-has-forward-stepper: 0;
    -GtkRange-slider-width: 16;

    border-radius: 20px;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.74)),
                                           to (shade (@bg_color, 0.74)));
}

Para aplicações GTK 2, modifique:

gksu gedit /usr/share/themes/Ambiance/gtk-2.0/gtkrc

Modifique a linha 34 para que pareça:

GtkScrollbar::slider-width = 16

Para aqueles que preferem os arquivos completos já editados, você pode baixar o meu aqui:

GTK 3: gtk-widgets.css

GTK 2: gtkrc

Tenha cuidado. Faça backups.

Aproveite! :)

    
por Nicolas 18.07.2013 / 20:26
8

Suponho que você esteja se referindo às barras de rolagem de sobreposição porque mencionou Unity. Eu não sei como mudar a largura, mas certamente você pode mudar a cor. Se a cor é distinta o suficiente, eu sinto que a largura não é um grande problema, porque ao passar o mouse ela fica decentemente larga.

Você precisa procurar na pasta do seu tema por arquivos chamados gtkrc (na pasta gtk-2.0) e gtk-widgets.css (na pasta gtk-3.0 ). Abra esses arquivos com um editor de texto. Você pode precisar usar gksudo gedit em vez de apenas gedit se seu tema estiver em / usr / share / themes e não em ~ / .themes. Em seguida, pesquise barras de rolagem de sobreposição ou overlay-scrollbar ou algo parecido e brinque com as cores especificadas nessas seções. Você pode até especificar sua própria cor em código hexadecimal.

Obviamente, você pode definir cores diferentes nos dois arquivos, se quiser.

Para visualizar as alterações, talvez seja necessário alternar para outro tema e voltar depois de ter feito e salvo as alterações nesses arquivos.

As alterações que você fizer em / usr / share / themes serão em todo o sistema e as alterações em ~ / .themes serão específicas do usuário.

Esta é a aparência da minha barra de rolagem de sobreposição no PCManFM.

Editar : Caso esteja usando barras de rolagem convencionais, para aumentar o contraste entre o controle deslizante e o vale em aplicativos gtk-3.0, como o gedit, é possível editar os gtk-widgets arquivo .css mencionado acima. Para fazer isso, pesquise a seção intitulada barra de rolagem (ou algo similar) e procure as linhas com algo assim:

.scrollbar.slider,
.scrollbar.slider:hover,
.scrollbar.button,
.scrollbar.slider.vertical,
.scrollbar.slider.vertical:hover,
.scrollbar.button.vertical {
    background-image: -gtk-gradient (linear, left top, right top,
                                 from (shade (@bg_color, 1.08)),
                                 to (shade (@bg_color, 0.92)));
    border-style: solid;
    border-width: 1px;

Aqui, pode-se jogar com os valores da imagem de fundo alterando a tonalidade. Um valor mais alto é mais brilhante, um valor mais baixo é mais escuro.

Eu prefiro fazer algo mais simples: eu mudo a imagem de fundo para background- cor e só tenho uma cor que eu gosto. Então, por exemplo, background-color: red; provavelmente daria um contraste excelente.

Meu código é assim:

.scrollbar.slider,
.scrollbar.button,
.scrollbar.slider.vertical,
.scrollbar.button.vertical {
    background-color: #003263; /*@theme_bg_color;*/
    /**/
    /**/

Obviamente, um backup antes da edição é aconselhável e pode-se comentar coisas no arquivo gtk-widgets.css ao invés de apagar coisas usando /* e */ .

(Eu não consigo fazer a formatação de citações de bloco para trabalhar enquanto postar respostas. Se alguém limpasse as coisas, eu ficaria grato.)

Uma última edição (espero): Os usuários do Google Chrome ou do Chromium podem aumentar o contraste editando o arquivo gtk-2.0/apps/chromium.rc se o tema o fornecer ou editando gtk-2.0/gtkrc se o que é necessário estiver lá. Em ambos os casos, deve-se procurar por uma seção intitulada style "chrome-gtk-frame" . Aqui, novamente, brinque com o valor de sombra nesta linha (ou similar):

ChromeGtkFrame::scrollbar-slider-normal-color = shade (1.4, @panel_bg)

Ou pode-se simplesmente especificar uma cor como esta:

ChromeGtkFrame::scrollbar-slider-normal-color = "#003263"

ou

ChromeGtkFrame::scrollbar-slider-normal-color = "blue"

(As citações são necessárias.)

    
por user25656 23.09.2012 / 17:36
2

Para o Ubuntu 14.04 (Trusty Tahr) são necessárias modificações ligeiramente diferentes.

GTK 3: gtk-widgets.css vai para: / usr / share /themes/Ambiance/gtk-3.0/gtk-widgets.css

GTK 2: gtkrc vai para: /usr/share/themes/Ambiance/gtk-2.0 / gtkrc

Faça backups anteriores:

sudo cp /usr/share/themes/Ambiance/gtk-2.0/gtkrc /usr/share/themes/Ambiance/gtk-2.0/gtkrc.bak
sudo cp gtkrc /usr/share/themes/Ambiance/gtk-2.0/
sudo cp /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css.bak
sudo cp gtk-widgets.css /usr/share/themes/Ambiance/gtk-3.0/ 

Esses comandos esperam os arquivos baixados gtkrc e gtk-widgets.css no diretório atual.

    
por Nicolas 21.04.2014 / 21:09