Écrire des extensions GNOME 3 en JavaScript

Magazine
Marque
Linux Pratique
HS n°
Numéro
24
Mois de parution
juin 2012
Domaines


Résumé
Avec l'arrivée de GNOME 3 Shell (GNU Network Object Model Environnment) qui a effectué un grand virage, l'interface a été fortement remodelée pour offrir une intégration orientée « smart mobility », avec l'utilisation de l'environnement graphique GNOME Shell. Mutter est devenu le nouveau gestionnaire de fenêtres. Il représente les fondations de GNOME Shell ; son nom est le résultat de la contraction de Metacity (ancien gestionnaire de fenêtres de GNOME) et Clutter (une bibliothèque permettant de créer des interfaces graphiques riches). Ce nouvel environnement offre les possibilités de modifier l'interface, d'ajouter des fonctionnalités, ... Il est possible de développer ces extensions à l'aide des technologies JavaScript pour l'algorithmie et CSS pour le style.

1. Extensions GNOME Shell

Je tiens à préciser en premier lieu que je ne rentrerai pas dans le troll que génèrent les différentes versions de ce gestionnaire de fenêtres. Passons à la présentation des outils utiles au développement d'application/extension.

1.1 gnome-shell-extension-tool

C'est un script Python à exécuter dans un terminal. Son but est de faciliter la mise en place d'une extension par le biais de questions successives pour mener à la création des fichiers nécessaires à la construction de notre application. Voici son synopsis :

$> gnome-shell-extension-tool --help

Usage: gnome-shell-extension-tool [options]

Options:

  -h, --help          show this help message and exit

  --create-extension Create a new GNOME Shell extension

1.2 Looking Glass

C'est un utilitaire intégré à GNOME Shell permettant d'inspecter/de déboguer les applications. Il dispose d'un design plutôt rétro, puisqu'en effet, on pourrait croire qu'il utilise la librairie ncurses pour son...

Cet article est réservé aux abonnés. Il vous reste 90% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Persistance et objets en C++

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

Au travers de deux articles [1-2] sur les principes de l’orienté objet en C++, nous avions abordé encapsulation, héritage, et polymorphisme. Nous proposons dans ce nouvel article les classes de base pour gérer la persistance d’objets dans des fichiers. Ces classes utilisent les principes énoncés ci-dessus et présentent des stratégies via la généricité. Un exemple de stratégie pour stocker en binaire pourra être redéfini pour d’autres stratégies, comme un stockage en XML.

Intégration des alertes de Nagios dans Grafana

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

Vous avez succombé à l’esthétique soignée des tableaux de bord de Grafana, mais vous ne pouvez pas vous passer de l’écran d’alertes du vénérable Nagios ! Alors, est-il possible de faire cohabiter ces deux produits ? Avec un peu de code Python, cela devrait être possible !

Flutter : applications mobiles, web et desktop

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

Flutter est un framework permettant de développer des applications natives pour Linux, Windows, macOS, Android, iOS et le Web à partir du même code source. Un moteur graphique OpenGL ultra performant et la compilation native en ARM, x86-64 ainsi que WebAssembly, associés à un cycle de développement agile et hyper intuitif, en font la solution ultime pour les créateurs d’applications. L’essayer, c’est l’adopter !

Un bot qui surveille le Web et envoie des alertes

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

De nos jours, lorsque l’on recherche une information, on se tourne immédiatement vers le Web. Ainsi, de très nombreuses informations sont mises à jour quotidiennement et il faut donc penser à visiter les sites les produisant, de manière à être au courant des dernières modifications. Et si nous codions un bot qui ferait cela pour nous ?