как создать пользовательские индикаторы для небольшой задачи как распространение окна?

Мне действительно нравится window spread функциональность в Ubuntu.

там какой-либо путь состоит в том, чтобы получить его в верхней панели как индикатор для более быстрого доступа? Лучше, если я могу получить его рядом со значком меню в углу панели.

Спасибо в усовершенствованном!:)

0
задан 5 February 2017 в 09:22

1 ответ

Используют функцию индикатора Ubuntu.

Это - пример Python, который выполнит функцию, которую Вы описали. Когда Вы запустите скрипт, у Вас будет активируемый по щелчку признак в панели навигации.

Сохраняют это как myindicator.py. Сделайте это исполняемым файлом и выполните его.

#!/usr/bin/python

# This code is an example for a tutorial on Ubuntu Unity/Gnome AppIndicators:
# http://candidtim.github.io/appindicator/2014/09/13/ubuntu-appindicator-step-by-step.html
# https://gist.github.com/candidtim/7290a1ad6e465d680b68

import os
import signal
import json
import subprocess

from urllib2 import Request, urlopen # URLError

from gi.repository import Gtk as gtk
from gi.repository import AppIndicator3 as appindicator
from gi.repository import Notify as notify



APPINDICATOR_ID = 'myappindicator'

def main():
    indicator = appindicator.Indicator.new(APPINDICATOR_ID, os.path.abspath('sample_icon.svg'), appindicator.IndicatorCategory.SYSTEM_SERVICES)
    indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
    indicator.set_menu(build_menu())
    notify.init(APPINDICATOR_ID)
    gtk.main()

def build_menu():
    menu = gtk.Menu()

    item_windowsspread = gtk.MenuItem('Windows Spread')
    item_windowsspread.connect('activate', windowsspread)
    menu.append(item_windowsspread)

    item_quit1 = gtk.MenuItem('Quit')
    item_quit1.connect('activate', quit1)
    menu.append(item_quit1)

    menu.show_all()
    return menu

def fetch_joke():
    request = Request('http://api.icndb.com/jokes/random?limitTo=[nerdy]')
    response = urlopen(request)
    joke = json.loads(response.read())['value']['joke']
    return joke

def windowsspread(_):
    subprocess.call("xdotool key super+w", shell=True)
    return windowsspread

def quit1(_):
    notify.uninit()
    gtk.main_quit()

if __name__ == "__main__":
    signal.signal(signal.SIGINT, signal.SIG_DFL)
    main()

Детали для того, чтобы сделать индикатор в Ubuntu могут быть найдены в:
Ubuntu ApplicationIndicators wiki

2
ответ дан 7 November 2019 в 01:07

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

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