示例#1
0
文件: 6m.py 项目: JustinHop/6m
def tray(**kwargs):
    """Runs the system tray selector"""
    traydir = os.path.dirname(os.path.realpath(__file__))
    logger.debug("traydir = {}".format(traydir))
    iconf = os.path.join(traydir, "6m.png")
    if os.path.isfile(iconf):
        icon("6m",
             Image.open(iconf),
             menu=menu(lambda: (
                item(
                    str(i),
                    set_state(i),
                    checked=get_state(i),
                    radio=True)
             for i in config['players']))).run()
示例#2
0
def tool(channels):
    def startMidiThread(midiDeviceName):
        global midi

        if (midi):
            midi.stop()

        midi = MidiInterface(midiDeviceName, channels)
        midi.start()
        return midi

    def on_exit_clicked(icon, item):
        midi.stop()
        trayIcon.stop()

    def on_log_clicked(icon, item):
        programName = "notepad.exe"
        fileName = os.getcwd() + "\MidiVolumeMixer.log"
        sp.Popen([programName, fileName])

    def set_state(v):
        def inner(icon, item):
            startMidiThread(v)
            config.set("midi_input", v)

        return inner

    def get_state(v):
        def inner(item):
            return midi.midiDeviceName == v

        return inner

    def get_menu_items():
        items = [
            item('None',
                 set_state("None"),
                 checked=get_state("None"),
                 radio=True)
        ]

        for port, name in midi.getMidiPorts():
            items.append(
                item(name,
                     set_state(name),
                     checked=get_state(name),
                     radio=True))

        return items

    deviceName = config.get("midi_input")
    startMidiThread(deviceName)

    trayIcon = icon('MidiVolumeMixer',
                    get_icon_image(),
                    menu=menu(item('Open log', on_log_clicked),
                              item('MIDI Input', menu(get_menu_items)),
                              item('Exit', on_exit_clicked)))

    trayIcon.run()
示例#3
0
def make_menu(connected):
    mainMenu = []
    for device in connected:
        menuItem = item(
            device['name'],
            menu(
                item(
                    'A2DP', lambda icon, item: switch_profile(
                        device['address'], 'a2dp_sink')),
                item(
                    'HSP/HFP', lambda icon, item: switch_profile(
                        device['address'], 'headset_head_unit'))))

        mainMenu.append(menuItem)

    icon('BT profile manager', get_tray_image_icon(),
         menu=menu(*mainMenu)).run()
示例#4
0
def IconCreate():
	global vh
	global trayActions
	global icon
	global DisableTray
	if(DisableTray): return
	icon('elvex', Image.open(BytesIO(requests.get("https://avatars3.githubusercontent.com/u/56801454?s=400&u=0ca69763a92ebb07e3bcf1264d17eaed40682467&v=4").content)), menu=menu(
		item('-- Elvex SOCIAL v'+str(version),trayActions.none, enabled=False),
		item('Dashboard', trayActions.dashboardOpen),
		item('Server settings', menu(
			item("Maintenance", menu(
				item('Disabled', lambda: trayActions.switchTechWorks(-1), checked=lambda i: trayActions.GetCheckedMaintenance(-1)),
				item('Maintenance', lambda: trayActions.switchTechWorks(0), checked=lambda i: trayActions.GetCheckedMaintenance(0)),
				item('Update', lambda: trayActions.switchTechWorks(1), checked=lambda i: trayActions.GetCheckedMaintenance(1)),
				item('Not listed', lambda: trayActions.switchTechWorks(2), checked=lambda i: trayActions.GetCheckedMaintenance(2))
			))
		)),
		item('Restart', trayActions.restart),
		item('Exit', trayActions.exit))).run()
示例#5
0
def run_icon_tray():
    global icon_tray
    icon_tray = icon(name='name',
                     icon=Image.open(absolute_path(r'resources\icon.png')),
                     title='Hotkey Manager',
                     menu=menu(
                         item('Active',
                              on_clicked,
                              default=True,
                              checked=lambda item: state),
                         item('Exit', menu_exit)))
    icon_tray.run()
示例#6
0
def tray():
    global state

    def on_clicked(icon, item):
        global state
        if state == True:
            icon.icon = Image.open('icon_off.ico')
            icon._update_icon()
        else:
            icon.icon = Image.open('icon.ico')
            icon._update_icon()
        state = not item.checked

    icon('Keyboard Sound',
         Image.open('icon.ico'),
         menu=menu(
             item('Active',
                  on_clicked,
                  default=True,
                  visible=True,
                  checked=lambda item: state))).run()
示例#7
0
 def run(self):
     global window_shown
     Systray.generate_icon()
     systray_image = Image.open(
         Filepath.get_path(
             os.path.join(Filepath.get_appdata_folder(), 'favicon.ico')))
     systray_menu = menu(
         item('show window',
              Systray.tray_window_toggle,
              checked=lambda item: window_shown),
         item('config', Systray.modify_config),
         #item('copy join link', self.copy_join_link),
         item('reload', Systray.restart),
         item('exit', self.exit))
     self.systray = icon("valorant-rpc", systray_image, "valorant-rpc",
                         systray_menu)
     self.systray.run()
示例#8
0
from pystray import Icon as icon, Menu as menu, MenuItem as item
from PIL import Image, ImageDraw
import sys

color1 = 0xffffff
color2 = 0x000000
width = 16
height = 16


def create_image():
    image = Image.new('RGB', (width, height), color1)
    dc = ImageDraw.Draw(image)
    dc.rectangle((width // 2, 0, width, height // 2), fill=color2)
    dc.rectangle((0, height // 2, width // 2, height), fill=color2)
    return image


def exitApp(icn):
    icn.visible = False
    icn.stop()
    sys.exit()


ic = icon('unka', create_image())
ic.menu = menu(item('Exit', lambda: exitApp(ic)))
ic.title = "unkara"
ic.run()
    subprocess.Popen(["python", path])

    config = config_file(
        str(
            os.path.abspath(
                os.path.join(os.path.join(os.path.abspath(__file__), '..'),
                             '..'))) + "\\scheduler\\scheduler.ini")
    icon('test',
         image,
         menu=menu(
             item('Sync now', runSync),
             item(
                 'Automatic sync',
                 menu(
                     item('hourly',
                          set_state(1),
                          checked=get_state(1),
                          radio=True),
                     item('every 6 hours',
                          set_state(2),
                          checked=get_state(2),
                          radio=True),
                     item('daily',
                          set_state(3),
                          checked=get_state(3),
                          radio=True),
                     item('Do not sync',
                          set_state(4),
                          checked=get_state(4),
                          radio=True))), item('Preferences', preferences),
             item('Quit now', quit_icon))).run()
示例#10
0
def systemTrayIcon(rootWin):
    icon("translater",
         Image.open(resource_path(os.path.join("res", "image.ico"))),
         "translater",
         menu=menu(item("退出",
                        lambda icon, item: quit(icon, rootWin)), )).run()
示例#11
0
    # Generate an image and draw a pattern
    image = Image.new('RGB', (100,100))
    dc = ImageDraw.Draw(image)
    dc.rectangle(
        (100 // 2, 0, 100, 100 // 2),
        fill='green')
    dc.rectangle(
        (0, 100 // 2, 100 // 2, 100),
        fill='green')

    return image

state = False
icon.icon = create_image()
def on_clicked(icon, item):
    global state
    state = not item.checked
    main.main()
    state=False
def on_quit(icon):
    icon.visible = False  # Need it to stop the main while loop. I think any global var also will do the thing
    icon.stop()  

icon("test",create_image(),menu=Menu(
        item(
            'start',
                    on_clicked,
                checked=lambda item: state),
        item(
            'quit',on_quit))).run()
示例#12
0
def create_icon(ip_address):
    global MENU
    return icon(ip_address, create_image(), menu=MENU)
    ]
    queryWindow = sg.Window("Set Query Interval", queryLayout)
    while True:
        event, values = queryWindow.read()
        if event == sg.WINDOW_CLOSED:
            queryWindow.close()
            return
        elif event == "Ok":
            print(values[0])
            customQueryInterval = float(values[0])
            queryThread.cancel()
            queryThread = Timer(customQueryInterval * 60, queryCheck, [icon])
            queryThread.start()
            queryWindow.close()
            return


# Creates the tray icon and its menu
icon(
    "test",
    create_image(),
    menu=menu(
        item("Check Grace", checkGrace, checked=None),
        item("Toggle Auto-Query",
             toggleAutoQuery,
             checked=lambda item: autoQuery),
        item("Edit Auto-Query", updateQueryInterval, checked=None),
        item("Quit", exitProgram, checked=None),
    ),
).run(setup=lambda icon: querySetup(icon))
示例#14
0
def pingGoogle():
    test_ping = '8.8.8.8'


active_ping = '8.8.8.8'
test_ping = None
min_ms = None
avg_ms = None
max_ms = None

image = Image.open('./green_icon.png')
menu_obj = item('quit', quitApplication)
icon_obj = icon('internet',
                icon=image,
                menu=menu(item('Quit', quitApplication),
                          item('Australia', pingAustralia),
                          item('LoL', pingLeagueOfLegends),
                          item('Google', pingGoogle)))


def doIt():
    icon_obj.run(setup2)


trip_times = [min_ms, avg_ms, max_ms]


def responseCalc():
    response_obj = ping(active_ping, count=10, timeout=1)
    return response_obj
示例#15
0
from PIL import Image
from pystray import Icon as icon, Menu as menu, MenuItem as item

import config
import hass_api
from entities import Entity, DeviceType

import webbrowser

# Set up tray icon
tray_icon = icon('Home Assistant')
tray_icon.icon = Image.open(config.TRAY_ICON_PATH)

# Set up menu items for each entity in config
entity_items = map(
    lambda entity: item(entity.name,
                        lambda: hass_api.toggleEntity(entity),
                        checked=lambda item: False), config.entities)

tray_icon.menu = menu(
    *entity_items, menu.SEPARATOR,
    item('Open Home Assistant', lambda: webbrowser.open(config.SERVER_URL)),
    menu.SEPARATOR, item('Quit', lambda: tray_icon.stop()))

tray_icon.run()
示例#16
0
from pystray import Icon as icon, Menu as menu, MenuItem as item
from PIL import Image, ImageDraw
from json import loads as json_loads, dumps as json_dumps
import app


def create_image():

    image = Image.open('./icon.png')
    image.thumbnail([64, 64], Image.ANTIALIAS)

    return image


def set_scene(icon, item):
    app.scene(str(item))


icon = icon(
    'test',
    create_image(),
    menu=menu(
        item('on', lambda icon, item: app.on()),
        item('off', lambda icon, item: app.off()),
        item(
            'scenes',
            menu(lambda: (item(scene, set_scene)
                          for scene in app.CONFIGS['scenes'].keys())))))
icon.run()
示例#17
0
    firstRun = 0
    dd.clear()
    de.clear()
    for device in manager.outlets:
        dd.append(device.displayJSON()['Device Name'])
        de.append(device.displayJSON()['Status'])
    return manager

manager = refreshList()
  
def toggle(x):
    def inner(icon, item):
        if de[x]=='on':
            manager.outlets[x].turn_off()
            de[x]='off'
        elif de[x]=='off':
            manager.outlets[x].turn_on()
            de[x]='on'
    return inner
    
menuObj=menu(lambda: [
    item(dd[i],toggle(i))
    for i in range(0,len(dd))]
    + [menu.SEPARATOR]
    + [item('Refresh Devices', lambda icon, item: refreshList())]
    + [item('Exit', lambda icon, item: icon.stop())]
)

# Plug icon made by https://www.flaticon.com/authors/pixel-perfect
icon("VeTray", icon=Image.open("plug.png"), title="VeTray", menu=menuObj).run()