GtkPopover и апплет

Как написать код в on_applet_clicked функция, которая показывает GtkPopover с примером контента? gtk_popover_new () и что дальше с этим?

const Applet = imports.ui.applet;
const Util = imports.misc.util;

function MyApplet(orientation, panel_height, instance_id) {
    this._init(orientation, panel_height, instance_id);
}

MyApplet.prototype = {
    __proto__: Applet.IconApplet.prototype,

    _init: function(orientation, panel_height, instance_id) {
        Applet.IconApplet.prototype._init.call(this, orientation, panel_height, instance_id);

        this.set_applet_icon_name("folder-system");
        this.set_applet_tooltip(_("Click here to kill a window"));
    },

    on_applet_clicked: function() {
        // here
    }
};

function main(metadata, orientation, panel_height, instance_id) {
    return new MyApplet(orientation, panel_height, instance_id);
}

1 ответ

Вы не можете использовать GTK+ в элементах пользовательского интерфейса оконного менеджера Cinnamon.

GTK+ - клиентский инструментарий; его нельзя использовать внутри оконного менеджера.

Если вы хотите использовать меню для апплета, вам придется использовать PopupMenu экземпляр, импортируя его как:

const PopupMenu = imports.ui.popupMenu;

и заполнить его PopupMenuItem экземпляры и их подклассы.

Другие вопросы по тегам