Iconos pequeños en el menú principal de GNOME

Iconos grandes en el Menú Principal

La instalación por defecto de GNOME muestra los iconos grandes en el menú principal y en las barras de herramientas. Pueden preferirse iconos pequeños, no sólo por una cuestión estética, sino para evitar el scroll en menues tales como Internet o Sistema/Preferencias, que tienden a crecer bastante con el tiempo llegando a desbordarse de la pantalla.

Hasta donde sé, no existe un mecanismo simple para cambiar el tamaño de estos iconos. Me di a la tarea de buscar una solución que cumpliera con lo siguiente:

  1. Ser independiente del tema actualmente en uso.
  2. Modificar del tema sólo el tamaño de los iconos.
  3. Perdurar tras actualizaciones del tema.

La solución final (para el impaciente):

Crear el fichero ~/.themes/Default/gtk-2.0-key/gtkrc y adicionar lo siguiente:

¿Qué dice Google?

Una búsqueda en Google para «small icon gnome menu» devuelve miles de resultados. Las soluciones encontradas concuerdan en modificar el valor de gtk-icon-sizes pero difieren en cuál ficheros de recursos (gtkrc) hacerlo. Se proponen 3 opciones básicamente:

Modificar el fichero de recursos del tema: /usr/share/themes/<tema_actual>/gtk-2.0/gtkrc

Descarté esta opción de antemano pues los cambios realizados se perderían tras una actualización. Además, la personalización es dependiente del tema: si se cambia de tema habría que re-configurar el fichero de recursos correspondiente.

Esta solución no cumple las precondiciones 1 y 3.

Modificar el fichero personal de recursos del tema: ~/.themes/<tema_actual>/gtk-2.0/gtkrc

Creé este fichero y adicioné el gtk-icon-sizes. Los iconos se mostraron pequeños pero se perdió el resto de la configuración del tema. Es de suponer que este gtkrc suplanta al del tema, ubicado en /usr/share/themes/<tema_actual>/gtk-2.0/gktrc.

Iconos pequeños con el tema roto.

Se podría evitar la rotura si en vez de crear un fichero vacío, se copia el gtkrc del tema y se personaliza luego.

Esta solución no cumple las precondiciones 1 y 2, además de que las actualizaciones hechas al tema por la distribución no tendrían efecto inmediato a menos que se repitiera el proceso de copia y personalización.

Modificar ~/.gtkrc-2.0

Creé ~/.gtkrc-2.0 y configuré gtk-icon-sizes. La apariencia de los iconos no cambió.

Solución final

Me dispuse a averiguar todos los ficheros gtkrc consultados al ejecutar Nautilus usando los siguientes comandos:

La salida fue:

El último gktrc consultado dentro de la carpeta personal es ~/.themes/Default/gtk-2.0-key/gtkrc. Decidí probar con éste y obtuve el efecto deseado. Los ajustes en este fichero de recursos se mezclan (con mayor precedencia) con aquellos en el fichero de recursos del tema. El Default en la ruta garantiza la independencia del tema que se esté usando.

No he encontrado documentación explícita de las llaves dentro de gtk-icon-sizes más allá de este enlace, de todos modos los nombres son bastante sugerentes. Luego de un par de iteraciones decidí dejar fuera a gtk-dnd y gtk-dialog. Finalmente me quedé con:

La referencia a gtk-menu-images la encontré aquí. A continuación muestro un par de imágenes de Nautilus con valores 0 y 1 para esta directiva.

Nautilus con gtk-menu-images=0

Nautilus con gtk-menu-images=1

No olviden reiniciar nautilus y gnome-panel después de cada cambio para garantizar que recarguen la configuración. Basta matar los procesos con los siguientes comandos, ya que gnome-session se encarga de relanzarlos:

Actualización 20110314: Olvidé decir que uso Ubuntu Maverick.

4 thoughts on “Iconos pequeños en el menú principal de GNOME

  1. Alvaro Herrera

    Lo intenté pero no funcionó; un poco de strace me reveló que el directorio gtk-2.0-key se usa para configuraciones de teclado, porque en mi caso no buscaba Default sino Emacs que es lo que tengo configurado:


    access("/usr/share/themes/Nuvola/gtk-2.0/gtkrc.es_CL", F_OK) = -1 ENOENT (No such file or directory)
    access("/usr/share/themes/Nuvola/gtk-2.0/gtkrc.es", F_OK) = -1 ENOENT (No such file or directory)
    access("/home/alvherre/.themes/Emacs/gtk-2.0-key/gtkrc", F_OK) = -1 ENOENT (No such file or directory)
    access("/usr/share/themes/Emacs/gtk-2.0-key/gtkrc", F_OK) = 0
    lstat("/usr/share/themes/Emacs/gtk-2.0-key/gtkrc", {st_mode=S_IFREG|0644, st_size=3818, ...}) = 0
    open("/usr/share/themes/Emacs/gtk-2.0-key/gtkrc", O_RDONLY) = 6
    access("/usr/share/themes/Emacs/gtk-2.0-key/gtkrc.es_CL", F_OK) = -1 ENOENT (No such file or directory)
    access("/usr/share/themes/Emacs/gtk-2.0-key/gtkrc.es", F_OK) = -1 ENOENT (No such file or directory)

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">