Como muchos de vosotros ya sabréis las extensiones que hasta ahora estábamos utilizando en Gnome-Shell 3.0, no son compatibles con la nueva versión 3.2. Afortunadamente muchas de estas extensiones serán portadas a la nueva versión, pudiéndolas encontrar en los repositorios oficiales de Oneiric, via PPA y en diversas webs.
Vamos a ver un poco por encima, en que han consistido estos cambios y adaptaciones, por si al final disponemos de algunas extensiones que no han sufrido esta portabilidad y con un poco de suerte realizar nosotros mismos estas modificaciones, permitiendo de esta manera, su funcionamiento en la 3.2.
Todo surge a través de Jasper St. Pierre, que daba las directrices principales para realizar estos cambios, su funcionamiento y beneficios que obtendríamos, también adjuntaba algún que otro ejemplo para nuestra mejor compresión.
Sus puntos principales son los siguientes:
Para el fichero metadata.json, cambiar la linea correspondiente a la anterior versión por la nueva e insertar una nueva linea:
metadata.json (3.0)
“shell-version”: ["3.0.2"]
metadata.json (3.2)
“shell-version”: ["3.2.0", "3.2"]
“localedir”: “/usr/share/locale”
Para el programa en javascript extension.js, cambiar:
La función “funtion main()” por “funtion init()” y añadir dos nuevas funciones “funtion enable()” y “funtion disable()“.
Veamos todo esto un poco más al detalle, pasando una extensión de la 3.0 a la 3.2, para ello voy a tomar como punto de referencia una pequeña extensión, cuyo cometido consistía en apagar el equipo.
En un principio descomprimimos el archivo en ./local/share/gnome-shell/extensions y posteriormente abrimos Advanced Setting (gnome-tweak-tool), podremos observar dos cosas o no aparece esta extensión o bien aparece con un icono de aviso indicándonos que hay algún problema con dicha extensión y que no es posible su activación.
Si procedemos con los cambios mencionados con anterioridad sería, para el fichero:
metadata.json (3.0)
metadata.json (3.2)
extension.js (3.0)
extension.js (3.2)
Tras salvar los ficheros, inicializamos Gnome-shell ( ALT + F2 introducimos r ), volvemos a Advanced Setting y si todo ha ido bien, observaremos que ha desaparecido el aviso y ya esta todo listo para activar dicha extensión.
Procedemos con la activación y comprobamos su funcionamiento.
La lógica del programa y ejecución ha pasado por la siguientes fases:
- Cuando entramos en el escritorio o reiniciamos Gnome-shell, todas nuestras extensiones ejecutarán function init().
- Cuando activamos dicha extensión se ejecutara function enable(), en el ejemplo se añadirá su icono en el panel.
- Cuando desactivamos dicha extensión se ejecutara function disable(), en el ejemplo borrara su icono del panel.
Ahora ya en la 3.2, ya no es necesario reiniciar Gnome-shell, ni en la activación ni en la desactivación, observamos su inmediata ejecución.
Os dejo la descarga del archivo comprimido de la extensión con los cambios ya realizados, totalmente compatible con la 3.2.
Gracias a @yunn9 por su gran ayuda
Fuente: novatillasku