54 lines
1.6 KiB
JavaScript
54 lines
1.6 KiB
JavaScript
|
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||
|
// Sample extension code, makes clicking on the panel show a message
|
||
|
const St = imports.gi.St;
|
||
|
const Mainloop = imports.mainloop;
|
||
|
|
||
|
const Gettext = imports.gettext.domain('activate_gnome');
|
||
|
const _ = Gettext.gettext;
|
||
|
|
||
|
const Main = imports.ui.main;
|
||
|
|
||
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||
|
const Me = ExtensionUtils.getCurrentExtension();
|
||
|
const Convenience = Me.imports.convenience;
|
||
|
|
||
|
|
||
|
function _show() {
|
||
|
let settings = Convenience.getSettings();
|
||
|
let text1 = settings.get_string('text-l1') || _("Activate Gnome");
|
||
|
let text2 = settings.get_string('text-l2') || _("Go to Settings to activate Gnome.");
|
||
|
label_1 = new St.Label({ style_class: 'label-1', text: text1 });
|
||
|
label_2 = new St.Label({ style_class: 'label-2', text: text2 });
|
||
|
let monitor = Main.layoutManager.primaryMonitor;
|
||
|
var h = Math.floor(monitor.height / 20 * 19 - label_2.height);
|
||
|
var w = Math.floor (monitor.width / 15 * 14 - label_2.width);
|
||
|
global.stage.add_actor(label_2);
|
||
|
label_2.set_position(w, h);
|
||
|
global.stage.add_actor(label_1);
|
||
|
label_1.set_position(w, h - label_1.height);
|
||
|
}
|
||
|
|
||
|
// Put your extension initialization code here
|
||
|
function init(metadata) {
|
||
|
log ('Example extension initalized');
|
||
|
Convenience.initTranslations();
|
||
|
}
|
||
|
|
||
|
function refresh() {
|
||
|
// Don't know how to get rid of this
|
||
|
disable();
|
||
|
_show();
|
||
|
}
|
||
|
|
||
|
function enable() {
|
||
|
log ('Example extension enabled');
|
||
|
_show();
|
||
|
Mainloop.timeout_add(3000, () => { refresh(); });
|
||
|
}
|
||
|
|
||
|
function disable() {
|
||
|
log ('Example extension disabled');
|
||
|
label_1.destroy();
|
||
|
label_2.destroy();
|
||
|
}
|