javascript gnome seed gnome-3 gnome-shell

javascript - Cómo empezar a escribir extensiones de shell Gnome



seed gnome-3 (2)

He encontrado que es muy difícil encontrar documentación sobre las extensiones de shell de Gnome. Encontré algunos bits en Gnome Wiki (y son enlaces de primer nivel), pero no es mucho:

http://live.gnome.org/GnomeShell/Extensions

El problema aquí es GJS y sus enlaces. Absolutamente sin documentación, tengo muchos SIGSEGV, el enlace simplemente no está listo (GLib, Gio y otros). El único que funciona es la documentación no oficial generada desde GIR para la implementación de JavaScript de Seed:

http://roojs.org/seed/gir-1.2-gtk-2.0/seed/

¿Dónde conseguir más ejemplos? Quiero leer directorios, archivos, procesos de generación, abrir sockets de red y hacer otras cosas.

Actualización: Mostrar cómo leer un archivo línea por línea en GJS. Según Google esto no es posible. Gracias.


Bueno, supuestamente, con Gnome3, tienes una API bastante uniforme en varios lenguajes de programación, que se genera a partir de los mismos archivos GIR. Por lo tanto, debería (al menos en teoría) poder recuperar toda la API, espero con documentación, de la introspección de GObject. Y al revés, debería poder transformar fácilmente el código de ejemplo de otro idioma a JavaScript para esta API.

Teóricamente Evito JavaScript cuando sea posible, desarrollar una aplicación de escritorio en JavaScript es lo último que haría.


GNOME Shell utiliza GJS , no Seed . Existen algunas diferencias entre ambos, y podría explicar por qué tiene problemas.

Con GOBject Introspection puede leer la documentación de la biblioteca original y adaptar la firma de cada método / función al idioma que está utilizando.

En su caso particular, para archivos, redes, etc. es posible que desee verificar GIO . Puede consultar la Descripción general de la plataforma para ver qué más hay disponible. También puede consultar algunos ejemplos (aunque no extensiones) en JavaScript .

Por fin, pero no menos importante, muy pronto se lanzará un sitio web con extensión.