Cómo cambiar el color y el ancho de las barras de desplazamiento sin superposición en Ubuntu 12.04

13

Sé que muchas personas se han quejado de las barras de desplazamiento casi invisibles y no utilizables en las versiones recientes de Ubuntu, incluso después de eliminar o deshabilitar las barras de desplazamiento de superposición predeterminadas. Me pregunto cómo puedo cambiar fácilmente su color y ancho.

Tengo un monitor de 13.3 pulgadas con una resolución de 1600 * 900 y apenas puedo verlos, como pueden ver en estas imágenes:

http://placerdigital.net/up/Dropbox_003.png

http://placerdigital.net/up/Nuvola.png

http://placerdigital.net/up/Ubuntu%20Software%20Center_004.png

Ya cambié Firefox, LibreOffice y algunas barras de desplazamiento de otro software usando GNOME Color Chooser:

ingrese la descripción de la imagen aquí

Por cierto, estoy usando Unity. ¡Gracias!

Chuqui
fuente
1
La captura de pantalla estaría bien.
Uri Herrera
1
Una captura de pantalla es imprescindible, creo en este caso. Dado que la respuesta proporcionada no es lo que quería.
Anwar
Hola @UriHerrera y Anwar, ya agregué algunas imágenes. ¡Gracias!
Chuqui
1
Por favor, por amor de Dios, ¿por qué los desarrolladores no hacen que esto sea fácil de cambiar en la configuración del sistema?
neuronet

Respuestas:

4

Nota:

Los formatos en esta respuesta son óptimos solo para precisos (Ubuntu 12.04), vea la siguiente respuesta para formatos mejorados para confianza (Ubuntu 14.04).


Hacer visibles las barras de desplazamiento (cambiar el color)

Basándome en la información de vasa1 proporcionada anteriormente, cambié el color de las barras de desplazamiento clásicas al color de selección predeterminado, el mismo que usan también las barras de desplazamiento superpuestas.

Para aplicaciones GTK 3, modifique:

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

a partir de la línea 1580 para que se vea así:

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

Esto debería ser por defecto.

Para aplicaciones GTK 2, modifique:

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

a partir de la línea 223 para que se vea así:

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

No se ve 100% idéntico al formato GTK 3, así que siéntase libre de mejorarlo.


Hacer clic en las barras de desplazamiento (aumentar el ancho)

Supongo que para aumentar el ancho pequeño y tonto que nunca se utilizaron en la producción, realice los siguientes cambios en los mismos archivos.

Para aplicaciones GTK 3:

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

modifique la línea 1550 para que se vea así:

.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 aplicaciones GTK 2, modifique:

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

modifique la línea 34 para que se vea así:

GtkScrollbar::slider-width = 16

Para aquellos que prefieren los archivos completos ya editados, pueden descargar los míos desde aquí:

GTK 3: gtk-widgets.css

GTK 2: gtkrc

Ten cuidado. Hacer copias de seguridad.

¡Disfrutar! :)

Nicolas
fuente
Para aquellos que ya leyeron mi respuesta: con la última edición mejoré en gran medida el formato. :)
Nicolas
8

Supongo que se refiere a las barras de desplazamiento de superposición porque menciona Unity. No sé cómo cambiar el ancho, pero ciertamente puedes cambiar el color. Si el color es lo suficientemente distinto, creo que el ancho no es un gran problema porque al pasar el mouse se vuelve decentemente ancho.

Debe buscar en la carpeta de su tema archivos llamados gtkrc (en la carpeta gtk-2.0) y gtk-widgets.css (en la carpeta gtk-3.0). Abra estos archivos con un editor de texto. Es posible que necesite usar en gksudo geditlugar de solo geditsi su tema está en / usr / share / themes y no en ~ / .themes. A continuación, busque las barras de desplazamiento de superposición o superposición de la barra de desplazamiento o algo similar y el juego con los colores especificados en esas secciones. Incluso puede especificar su propio color en código hexadecimal.

Obviamente, puede establecer diferentes colores en los dos archivos si así lo desea.

Para visualizar los cambios, es posible que deba cambiar a otro tema y volver después de haber realizado y guardado los cambios en estos archivos.

Los cambios que realice en / usr / share / themes serán para todo el sistema y los cambios en ~ / .themes serán específicos del usuario.

Así es como se ve mi barra de desplazamiento de superposición en PCManFM.

Mi barra de desplazamiento superpuesta

Editar : en caso de que se utilicen barras de desplazamiento convencionales, para aumentar el contraste entre el control deslizante y el canal en aplicaciones gtk-3.0 como gedit, se puede editar el archivo gtk-widgets.css mencionado anteriormente. Para hacerlo, busque la sección titulada barra de desplazamiento (o algo similar) y busque las líneas que tienen algo como esto:

.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;

Aquí, uno puede jugar con los valores para la imagen de fondo cambiando la sombra. Un valor más alto es más brillante, un valor más bajo es más oscuro.

Prefiero hacer algo más simple: cambio la imagen de fondo a color de fondo y solo tengo un color que me gusta. Entonces, por ejemplo, color de fondo: rojo; probablemente daría un contraste excepcional.

Mi código se ve así:

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

Obviamente, una copia de seguridad antes de editar es aconsejable y uno puede comentar cosas en el archivo gtk-widgets.css en lugar de eliminar cosas usando /*y */.

(No puedo hacer que el formato de las comillas en bloque funcione mientras publico respuestas. Si alguien limpiara las cosas, estaría agradecido).

Una última edición (espero): los usuarios de Chrome o Chromium pueden aumentar el contraste editando su gtk-2.0/apps/chromium.rcarchivo si su tema lo proporciona o editando gtk-2.0/gtkrcsi lo que se requiere está presente allí. En ambos casos, se debe buscar un estilo con encabezado de sección "chrome-gtk-frame" . Aquí, nuevamente, juegue con el valor de sombra en esta línea (o similar):

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

O simplemente se puede especificar un color como este:

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

o

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

(Las cotizaciones son obligatorias).

Eliah Kagan
fuente
1
Lo siento, @ vasa1! Olvidé mencionar que eliminé las barras de desplazamiento superpuestas usando "Desarmar" o algunos comandos. Ahora tengo barras de desplazamiento estrechas y de bajo contraste. Eso es lo que necesito arreglar. (Ya edité la pregunta original).
Chuqui
@Chuqui, ¿podría mencionar algunas aplicaciones específicas que son problemáticas? Y mencione qué tema está utilizando. Sé de al menos un tema que tiene barras de desplazamiento muy delgadas. En ese caso, puede ser solo una cuestión de probar otro tema.
Hola @ vasa1, quiero agradecerte nuevamente por las instrucciones detalladas que me diste. Lamento no haber sido lo suficientemente claro en mi pregunta. Arriba puede ver imágenes de aplicaciones donde las barras de desplazamiento son difíciles de ver: Nautilus, Nuvola Player y Ubuntu Software Center. Por el contrario, usando Gnome Color Chooser podría cambiar Firefox, Ubuntu One y otras barras de desplazamiento de software, como LibreOffice. Estoy usando el tema predeterminado: Ambiente
Chuqui
1
La edición que proporcioné debería indicarle cómo podría aumentar el contraste incluso para Nautilus y USC. No sé sobre Nuvola. En mi opinión, el ancho predeterminado de la barra de desplazamiento en Ambiance no es tan malo (una vez que modifica el contraste).
Muy buena respuesta. ¿Cómo saber si una aplicación usa GTK 2 o GTK 3. Ex nautilus, gedit usa GTK 3 pero firefox / thunderbird usa GTK 2. ¿Hay alguna forma de averiguarlo?
Chandrayya GK
2

Para Ubuntu 14.04 (Trusty Tahr) se necesitan modificaciones ligeramente diferentes.

GTK 3: gtk-widgets.css va a: /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css

GTK 2: gtkrc va a: /usr/share/themes/Ambiance/gtk-2.0/gtkrc

Hacer copias de seguridad antes:

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/ 

Esos comandos esperan los archivos descargados gtkrcy gtk-widgets.cssen el directorio actual.

Nicolas
fuente
1
¿No sería esto mejor como una edición de su otra respuesta?
Pavel V.
Mi intención para una respuesta separada era separar claramente las cosas de 12.04 de 14.04 para que los consumidores de mis archivos de diseño preparados puedan encontrar las correctas rápidamente y sin confundirse. Pero ... bueno ... uno puede discutir sobre ...;)
Nicolas