¿Cómo hago un tema desde cero para Unity?

66

Me gustaría hacer un tema desde cero para Unity.

¿Qué conocimientos e información / habilidades se necesitan? ¿Ya existen herramientas o plantillas para algo como esto? No tengo ninguna experiencia en Python, por lo que son preferibles las herramientas sesgadas hacia los principiantes.

Achu
fuente
1
¿Qué tan detallado debe ser esto? ¿Qué partes del tema necesitas? Iconos? Metacity? ¿GTK + 2 y GTK + 3, incluidos cambios especiales en las aplicaciones (incluida la función de barra superior de Unity)? También es posible (aunque bastante limitado), cambiar la apariencia de la barra de inicio y el tablero, sin realizar una cirugía mayor. ;-)
htorque
@htorque Me imagino que esto debería centrarse solo en la interfaz de Unity en sí (panel, lanzador, guión, etc., ... lo demás probablemente estaría mejor cubierto en otras preguntas). Si tienes una buena guía sobre cómo hacer esto para 11.10, entonces hazlo. :)
Christopher Kyle Horton el

Respuestas:

45

10.04 a 11.04

Para evitar problemas con un tema que creo, comienzo con otro tema y luego lo copio a un nuevo nombre y uso el tema Equinox Evolution Midnight para crear un nuevo tema que llamo Rinzwind . Esto evita errores, bloqueos y avisos sobre cosas que no están presentes para este tema.

  • crear un nuevo tema basado en otro tema

Los temas se almacenan en /usr/share/themes/:

im1

Pasos tomados en esta imagen:

  • Terminal abierto y cd /usr/share/themes/
  • sudo mkdir Rinzwind
  • cd Rinzwind
  • sudo cp -R /usr/share/themes/Equinox\ Evolution\ Midnight/* .

Dentro del nuevo directorio hay un archivo llamado index.themeque debe cambiarse al nuevo nombre del tema. Entonces, después de ingresar, sudo gedit index.themecambie todos los nombres de temas antiguos al nuevo:

im2

Cadena, busque y reemplace Equinox Evolution Midnight -> Rinzwind
IconTheme y CursorTheme que mantendré por ahora, pero editar estos 2 es casi lo mismo para este tema.

Y ahora tenemos un nuevo nombre para un tema antiguo:

im2

  • Creando un nuevo tema

Dentro de nuestro nuevo directorio hay 2 conjuntos de imágenes:

im5

im6

Con un editor de imágenes (Gimp) puede cambiar los colores o hacer varias cosas en las imágenes. Asegúrese de mantener el mismo tamaño de la imagen y, por supuesto, use colores sanos (manténgase en un color y 1 o 2 tonos de este color para crear un tema y no algo que le dé a la gente dolores de cabeza instantáneos).

Recree estos 2 directorios en su Picturescarpeta copiando el tema a su Pictures. Copié los 2 directorios dentro del tema y eliminé todos los directorios que no son imágenes con esto como resultado:

im7

Abra todas las imágenes dentro de gimp y comience a editarlas y cuando esté satisfecho cópielas en el directorio de su tema y verifique si funciona. Observación: dado que el tema es propiedad de root, debe usar sudo para copiarlo.

Rinzwind
fuente
77
También puede copiar temas en un directorio debajo ~/.local/share/themes/para que no necesite derechos de sudo (y evitar posibles problemas con los paquetes más adelante) mientras desarrolla un nuevo tema.
JanC
32

11.10 y superior

Afortunadamente, crear un tema para 11.10 y superior (GTK + 3) es muy similar a 11.04 y versiones anteriores de Ubuntu que usaban GTK + 2. Esta respuesta se basa en la excelente respuesta de Rinzwind .

Es más fácil modificar un tema existente en lugar de abordar un tema desde cero. Además, es más fácil editar un tema en su propia carpeta de inicio local, esto evita problemas de permisos, etc.

Vamos a crear un nuevo tema que se llama foss basado en el tema Ambiance. Obviamente, si tiene otros temas GTK + 3 instalados, úselos (consulte Preguntas y respuestas vinculadas para obtener los temas)

Los temas de instalación se almacenan en /usr/share/themes/- los temas locales se almacenan en su carpeta de inicio bajo el nombre de la carpeta.themes

  • Terminal abierta
  • Crear una carpeta de tema foss localmkdir -p ~/.themes/foss
  • cp -R /usr/share/themes/Ambiance/* ~/.themes/foss

Dentro de la nueva carpeta hay un archivo llamado index.themeque debe cambiarse al nuevo nombre del tema.

gedit ~/.themes/foss/index.theme cambie todos los nombres de temas antiguos al nuevo.

ingrese la descripción de la imagen aquí

Y ahora tenemos un nuevo nombre llamado foss :

Editando el nuevo tema

Dentro de nuestro nuevo directorio hay dos carpetas clave: Unity y gtk-3.0 :

ingrese la descripción de la imagen aquí

Con un editor de imágenes como Pinta o Gimp, puede cambiar los colores o hacer varias cosas en las imágenes dentro de esas carpetas.

ingrese la descripción de la imagen aquí

Asegúrese de mantener el mismo tamaño de la imagen y, por supuesto, use colores sanos (manténgase en un color y 1 o 2 tonos de este color para crear un tema ).

Abra todas las imágenes dentro de Pinta / Gimp y comience a editarlas y, cuando esté satisfecho, cópielas en el directorio de su tema.

Sin embargo, la parte principal de la edición de temas es cambiar los diversos archivos .css en esas carpetas (y las aplicaciones de subcarpetas ).

ingrese la descripción de la imagen aquí

Cascading-Style-Sheets es un lenguaje de hojas de estilo bien definido que cambia la apariencia de los objetos asociados, en nuestro caso un tema, pero se aplica igualmente a las páginas web y documentos HTML.

No es para los no iniciados editarlos; afortunadamente, existen algunas herramientas muy buenas que le permiten editar y obtener una vista previa de los cambios de CSS; consulte las preguntas y respuestas vinculadas a continuación.

Una vez que esté satisfecho con su tema, configure su tema a través de Ubuntu-Tweak

ingrese la descripción de la imagen aquí

Desafortunadamente, no puede cambiar los temas a través de la pantalla de Apariencia estándar : los temas están codificados en 11.10 y 12.04.


Preguntas vinculadas:

fossfreedom
fuente
¿Por qué no puedo cambiar el tema directamente?
Santosh Kumar
1
los temas son fijos (codificados) en la pantalla de apariencia. Estoy seguro de que a los desarrolladores les gustaría un parche para solucionar esto. Hasta entonces, usa myunity para cambiar tus temas.
fossfreedom
16.04, después de seguir las instrucciones del nombre de la carpeta y dentro del archivo .theme, para probar cambié a esto en el archivo .theme ButtonLayout=minimize,maximize,close:pero no cambiará el diseño de los botones, ¿algún consejo? unity tweak toolCambio el uso que funciona cuando cambio a adwaita y viceversa, pero mi tema personalizado nunca cambia nada :(
Aquarius Power