mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-07 13:41:15 -07:00
Add launch browser toggle to system tray
This commit is contained in:
parent
d604d40e91
commit
00adb45086
2 changed files with 33 additions and 12 deletions
|
@ -45,14 +45,16 @@ class MacOSSystemTray(object):
|
||||||
rumps.MenuItem('Open Tautulli', callback=self.tray_open),
|
rumps.MenuItem('Open Tautulli', callback=self.tray_open),
|
||||||
None,
|
None,
|
||||||
rumps.MenuItem('Start Tautulli at Login', callback=self.tray_startup),
|
rumps.MenuItem('Start Tautulli at Login', callback=self.tray_startup),
|
||||||
|
rumps.MenuItem('Open Browser when Tautulli Starts', callback=self.tray_browser),
|
||||||
None,
|
None,
|
||||||
rumps.MenuItem('Check for Updates', callback=self.tray_check_update),
|
rumps.MenuItem('Check for Updates', callback=self.tray_check_update),
|
||||||
rumps.MenuItem('Restart', callback=self.tray_restart),
|
rumps.MenuItem('Restart', callback=self.tray_restart),
|
||||||
rumps.MenuItem('Quit', callback=self.tray_quit)
|
rumps.MenuItem('Quit', callback=self.tray_quit)
|
||||||
]
|
]
|
||||||
if not plexpy.FROZEN:
|
if not plexpy.FROZEN:
|
||||||
self.menu.insert(5, rumps.MenuItem('Update', callback=self.tray_update))
|
self.menu.insert(6, rumps.MenuItem('Update', callback=self.tray_update))
|
||||||
self.menu[2].state = plexpy.CONFIG.LAUNCH_STARTUP
|
self.menu[2].state = plexpy.CONFIG.LAUNCH_STARTUP
|
||||||
|
self.menu[3].state = plexpy.CONFIG.LAUNCH_BROWSER
|
||||||
|
|
||||||
self.tray_icon = rumps.App(common.PRODUCT, icon=self.icon, menu=self.menu, quit_button=None)
|
self.tray_icon = rumps.App(common.PRODUCT, icon=self.icon, menu=self.menu, quit_button=None)
|
||||||
|
|
||||||
|
@ -77,6 +79,10 @@ class MacOSSystemTray(object):
|
||||||
plexpy.CONFIG.LAUNCH_STARTUP = not plexpy.CONFIG.LAUNCH_STARTUP
|
plexpy.CONFIG.LAUNCH_STARTUP = not plexpy.CONFIG.LAUNCH_STARTUP
|
||||||
set_startup()
|
set_startup()
|
||||||
|
|
||||||
|
def tray_browser(self, tray_icon):
|
||||||
|
plexpy.CONFIG.LAUNCH_BROWSER = not plexpy.CONFIG.LAUNCH_BROWSER
|
||||||
|
set_startup()
|
||||||
|
|
||||||
def tray_check_update(self, tray_icon):
|
def tray_check_update(self, tray_icon):
|
||||||
versioncheck.check_update()
|
versioncheck.check_update()
|
||||||
|
|
||||||
|
@ -97,13 +103,14 @@ class MacOSSystemTray(object):
|
||||||
self.icon = os.path.join(self.image_dir, 'logo-circle.ico')
|
self.icon = os.path.join(self.image_dir, 'logo-circle.ico')
|
||||||
self.update(icon=self.icon)
|
self.update(icon=self.icon)
|
||||||
|
|
||||||
def change_tray_startup_icon(self):
|
def change_tray_icons(self):
|
||||||
self.tray_icon.menu['Start Tautulli at Login'].state = plexpy.CONFIG.LAUNCH_STARTUP
|
self.tray_icon.menu['Start Tautulli at Login'].state = plexpy.CONFIG.LAUNCH_STARTUP
|
||||||
|
self.tray_icon.menu['Open Browser when Tautulli Starts'].state = plexpy.CONFIG.LAUNCH_BROWSER
|
||||||
|
|
||||||
|
|
||||||
def set_startup():
|
def set_startup():
|
||||||
if plexpy.MAC_SYS_TRAY_ICON:
|
if plexpy.MAC_SYS_TRAY_ICON:
|
||||||
plexpy.MAC_SYS_TRAY_ICON.change_tray_startup_icon()
|
plexpy.MAC_SYS_TRAY_ICON.change_tray_icons()
|
||||||
|
|
||||||
if plexpy.INSTALL_TYPE == 'macos':
|
if plexpy.INSTALL_TYPE == 'macos':
|
||||||
if plexpy.CONFIG.LAUNCH_STARTUP:
|
if plexpy.CONFIG.LAUNCH_STARTUP:
|
||||||
|
|
|
@ -52,20 +52,25 @@ class WindowsSystemTray(object):
|
||||||
self.hover_text = common.PRODUCT
|
self.hover_text = common.PRODUCT
|
||||||
|
|
||||||
if plexpy.CONFIG.LAUNCH_STARTUP:
|
if plexpy.CONFIG.LAUNCH_STARTUP:
|
||||||
start_icon = os.path.join(self.image_dir, 'check-solid.ico')
|
launch_start_icon = os.path.join(self.image_dir, 'check-solid.ico')
|
||||||
else:
|
else:
|
||||||
start_icon = None
|
launch_start_icon = None
|
||||||
|
if plexpy.CONFIG.LAUNCH_BROWSER:
|
||||||
|
launch_browser_icon = os.path.join(self.image_dir, 'check-solid.ico')
|
||||||
|
else:
|
||||||
|
launch_browser_icon = None
|
||||||
|
|
||||||
self.menu = [
|
self.menu = [
|
||||||
['Open Tautulli', None, self.tray_open, 'default'],
|
['Open Tautulli', None, self.tray_open, 'default'],
|
||||||
['', None, 'separator', None],
|
['', None, 'separator', None],
|
||||||
['Start Tautulli at Login', start_icon, self.tray_startup, None],
|
['Start Tautulli at Login', launch_start_icon, self.tray_startup, None],
|
||||||
|
['Open Browser when Tautulli Starts', launch_browser_icon, self.tray_browser, None],
|
||||||
['', None, 'separator', None],
|
['', None, 'separator', None],
|
||||||
['Check for Updates', None, self.tray_check_update, None],
|
['Check for Updates', None, self.tray_check_update, None],
|
||||||
['Restart', None, self.tray_restart, None]
|
['Restart', None, self.tray_restart, None]
|
||||||
]
|
]
|
||||||
if not plexpy.FROZEN:
|
if not plexpy.FROZEN:
|
||||||
self.menu.insert(5, ['Update', None, self.tray_update, None])
|
self.menu.insert(6, ['Update', None, self.tray_update, None])
|
||||||
|
|
||||||
self.tray_icon = SysTrayIcon(self.icon, self.hover_text, self.menu, on_quit=self.tray_quit)
|
self.tray_icon = SysTrayIcon(self.icon, self.hover_text, self.menu, on_quit=self.tray_quit)
|
||||||
|
|
||||||
|
@ -89,6 +94,10 @@ class WindowsSystemTray(object):
|
||||||
plexpy.CONFIG.LAUNCH_STARTUP = not plexpy.CONFIG.LAUNCH_STARTUP
|
plexpy.CONFIG.LAUNCH_STARTUP = not plexpy.CONFIG.LAUNCH_STARTUP
|
||||||
set_startup()
|
set_startup()
|
||||||
|
|
||||||
|
def tray_browser(self, tray_icon):
|
||||||
|
plexpy.CONFIG.LAUNCH_BROWSER = not plexpy.CONFIG.LAUNCH_BROWSER
|
||||||
|
set_startup()
|
||||||
|
|
||||||
def tray_check_update(self, tray_icon):
|
def tray_check_update(self, tray_icon):
|
||||||
versioncheck.check_update()
|
versioncheck.check_update()
|
||||||
|
|
||||||
|
@ -114,18 +123,23 @@ class WindowsSystemTray(object):
|
||||||
self.hover_text = common.PRODUCT + ' - No Update Available'
|
self.hover_text = common.PRODUCT + ' - No Update Available'
|
||||||
self.update(icon=self.icon, hover_text=self.hover_text)
|
self.update(icon=self.icon, hover_text=self.hover_text)
|
||||||
|
|
||||||
def change_tray_startup_icon(self):
|
def change_tray_icons(self):
|
||||||
if plexpy.CONFIG.LAUNCH_STARTUP:
|
if plexpy.CONFIG.LAUNCH_STARTUP:
|
||||||
start_icon = os.path.join(self.image_dir, 'check-solid.ico')
|
launch_start_icon = os.path.join(self.image_dir, 'check-solid.ico')
|
||||||
else:
|
else:
|
||||||
start_icon = None
|
launch_start_icon = None
|
||||||
self.menu[2][1] = start_icon
|
if plexpy.CONFIG.LAUNCH_BROWSER:
|
||||||
|
launch_browser_icon = os.path.join(self.image_dir, 'check-solid.ico')
|
||||||
|
else:
|
||||||
|
launch_browser_icon = None
|
||||||
|
self.menu[2][1] = launch_start_icon
|
||||||
|
self.menu[3][1] = launch_browser_icon
|
||||||
self.update(menu_options=self.menu)
|
self.update(menu_options=self.menu)
|
||||||
|
|
||||||
|
|
||||||
def set_startup():
|
def set_startup():
|
||||||
if plexpy.WIN_SYS_TRAY_ICON:
|
if plexpy.WIN_SYS_TRAY_ICON:
|
||||||
plexpy.WIN_SYS_TRAY_ICON.change_tray_startup_icon()
|
plexpy.WIN_SYS_TRAY_ICON.change_tray_icons()
|
||||||
|
|
||||||
startup_reg_path = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"
|
startup_reg_path = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue