Команда Shell, чтобы включить авто-скрыть пусковую установку

Основной пример

Ваш код кажется слишком сложным во многих отношениях. Несколько очевидных вещей:

Вы можете просто использовать Gtk.Menu, вы не создаете меню с помощью ряда кнопок. Не используйте кнопку переключения для вызова апплета, нормальная кнопка - это то, что вам нужно. Если вы используете EventBox, вам совсем не нужна кнопка. Достаточно импортировать subprocess только один раз во главе апплета

. Короче говоря, пример

Возможно, было бы лучше показать пример того, как это может быть

#!/usr/bin/env python3
import subprocess
import gi.repository
gi.require_version('Budgie', '1.0')
from gi.repository import Budgie, GObject, Gtk

class SomeApp(GObject.GObject, Budgie.Plugin):

    __gtype_name__ = "SomeApp"

    def __int__(self):
        GObject.Object.__init__(self)

    def do_get_panel_widget(self, uuid):
        return SomeAppApplet(uuid)


class SomeAppApplet(Budgie.Applet):

    manager = None

    def __init__(self, uuid):

        Budgie.Applet.__init__(self)

        self.box = Gtk.EventBox()
        self.add(self.box)
        img = Gtk.Image.new_from_icon_name("firefox", Gtk.IconSize.MENU)
        self.box.add(img)
        self.menu = Gtk.Menu()
        self.create_menu()
        self.box.show_all()
        self.show_all()

    def run_command(self, menuitem):
        print(menuitem)
        subprocess.Popen(["gedit"])

    def create_menu(self):
        item1 = Gtk.MenuItem('Some item')
        item1.connect("activate", self.run_command)        
        item2 = Gtk.MenuItem('Another item')
        item3 = Gtk.MenuItem('I am on a roll, yet another item')
        for item in [item1, item2, item3]:
            self.menu.append(item)
        self.menu.show_all()
        self.box.connect("button-press-event", self.popup_menu)

    def popup_menu(self, *args):
        self.menu.popup(
            None, None, None, None, 0, Gtk.get_current_event_time()
        )

И файл .plugin (SomeApp.plugin:

[Plugin]
Loader=python3
Module=someapp
Name=Some App
Description=Obviously an App
Authors=James Bond
Copyright=Copyright © 2018 007
Website=some_website
Icon=firefox

Другие советы

При создании меню вы можете добавьте элементы меню в список в сочетании с командами, которые вы хотите запустить. Таким образом, вам не нужно использовать отдельные функции для каждой команды, но просто запустите команду в качестве аргумента для запуска run_command(). 13]

1
задан 19 April 2018 в 16:20

3 ответа

Попробуйте этот:

gsettings set org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/ launcher-hide-mode 1
1
ответ дан 22 May 2018 в 11:21

Попробуйте этот:

gsettings set org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/ launcher-hide-mode 1
1
ответ дан 17 July 2018 в 16:32

Попробуйте этот:

gsettings set org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/ launcher-hide-mode 1
1
ответ дан 23 July 2018 в 17:24

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

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