60 lines
1.6 KiB
JavaScript
60 lines
1.6 KiB
JavaScript
// extension.js - Point d'entrée de l'extension GNOME Shell ASUS RGB Keyboard
|
|
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
|
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
|
|
|
import {KeyboardRGBIndicator} from './ui.js';
|
|
|
|
/**
|
|
* Extension ASUS Keyboard RGB Control
|
|
*/
|
|
export default class AsusKeyboardRGBExtension extends Extension {
|
|
constructor(metadata) {
|
|
super(metadata);
|
|
this._indicator = null;
|
|
this._settings = null;
|
|
}
|
|
|
|
/**
|
|
* Active l'extension
|
|
*/
|
|
enable() {
|
|
console.log('Activation de l\'extension ASUS Keyboard RGB');
|
|
|
|
try {
|
|
// Charger les settings
|
|
this._settings = this.getSettings();
|
|
|
|
// Créer l'indicateur dans le panneau
|
|
this._indicator = new KeyboardRGBIndicator(this._settings);
|
|
|
|
// Ajouter au panneau (à droite, avant les menus système)
|
|
Main.panel.addToStatusArea(
|
|
this.metadata.uuid,
|
|
this._indicator,
|
|
1,
|
|
'right'
|
|
);
|
|
|
|
console.log('Extension ASUS Keyboard RGB activée avec succès');
|
|
} catch (e) {
|
|
console.error('Erreur lors de l\'activation de l\'extension:', e);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Désactive l'extension
|
|
*/
|
|
disable() {
|
|
console.log('Désactivation de l\'extension ASUS Keyboard RGB');
|
|
|
|
if (this._indicator) {
|
|
this._indicator.destroy();
|
|
this._indicator = null;
|
|
}
|
|
|
|
this._settings = null;
|
|
|
|
console.log('Extension ASUS Keyboard RGB désactivée');
|
|
}
|
|
}
|