Задать вопрос

Как отлаживать собственные дополнения на gnome-shell?

Существует ли рабочий инструмент отладки расширений для gnome-shell?
Установил расширение командой
gnome-shell-extension-tool --create-extension

Набросал расширение, а вот ошибку разглядеть не могу =(

const St = imports.gi.St;

const Main = imports.ui.main;
const Tweener = imports.ui.tweener;

const PopupMenu = imports.ui.popupMenu;
const switcher = imports.ui.switcherPopup;

const Util = imports.misc.util;

const Extension = imports.misc.extensionUtils.getCurrentExtension();
const Config = Extension.imports.config;

let textbox, switcher, config;
let text, button;

function _Textbox() {
    if (!text) {
        text = new St.Label({ style_class: 'helloworld-label', text: "Hello, world!" });
        Main.uiGroup.add_actor(text);
    }

	textbox.text = textmsg;
	textbox.opacity = 255;
	let monitor = Main.layoutManager.primaryMonitor;
	textbox.set_position(Math.floor(monitor.width / 2 - textbox.width / 2),
		              Math.floor(monitor.height / 2 - textbox.height / 2));
	Tweener.addTween(textbox,
		             { opacity: 0,
		               time: 2,
		               transition: 'easeOutQuad',
		               onComplete: _hideTextbox });
}

function _hideTextbox() {
	Main.uiGroup.remove_actor(textbox);
	textbox = null;
}

function _onRouter() {
	if(switcher.state) {
		Util.spawnCommandLine('i2prouter', 'start');
		_showTextbox(_("I2P вкл."));
	} else {
		Util.spawnCommandLine('i2prouter', 'stop');
		_showTextbox(_("I2P выкл."));
	}
}

function init() {
	config = new Config.Config();
}

function enable() {

	switcher = new PopupMenu.PopupSwitchMenuItem('');
	//switcher.icon.icon_name = '';
	switcher.label.text = 'I2P';	
	switcher.connect('toggled', _onRouter);

	let statusMenu = Main.panel.statusArea.aggregateMenu._network;
	statusMenu.menu.addMenuItem(switcher);
}

function disable() {
	switcher.destroy(); 
}
  • Вопрос задан
  • 288 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@kostiknoir
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы