From 269c6e511f7f48ab2f6bc50ad6e7b7887c33305a Mon Sep 17 00:00:00 2001 From: j Date: Fri, 25 Jan 2019 18:45:59 +0530 Subject: [PATCH] no icon for now --- oml/gtkstatus.py | 47 +++++++++++++++++++++-------------------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/oml/gtkstatus.py b/oml/gtkstatus.py index d9abb0d..4dc3ce5 100644 --- a/oml/gtkstatus.py +++ b/oml/gtkstatus.py @@ -9,15 +9,9 @@ import webbrowser import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk, GLib -try: - gi.require_version('AppIndicator3', '0.1') - from gi.repository import AppIndicator3 as appindicator -except: - appindicator = None - base = dirname(dirname(dirname(abspath(__file__)))) -icon = os.path.join(base, 'openmedialibrary/static/png/oml.png') +icon = os.path.join(base, 'openmedialibrary/static/svg/oml.svg') title = "Open Media Library" ctl = base + '/ctl' @@ -34,26 +28,29 @@ def check_pid(pid): else: return True -class OMLIcon: +def preexec(): # Don't forward signals. + os.setpgrp() + + +class OMLStatus: menu = None icon = None - indicator = None def __init__(self, autostart=False): self.autostart = autostart self.create_pid() - if appindicator: - self.indicator = appindicator.Indicator.new("OML", icon, - appindicator.IndicatorCategory.APPLICATION_STATUS) - self.indicator.set_status(appindicator.IndicatorStatus.ACTIVE) - self.menu = self.get_menu() - self.indicator.set_menu(self.menu) - else: - self.icon = Gtk.StatusIcon() - self.icon.set_from_file(icon) - self.icon.set_title(title) - self.icon.connect("activate", self._click) - self.icon.connect("popup-menu", self._click) + self.win = Gtk.Window() + self.win.set_icon_from_file(icon) + self.win.set_title(title) + #self.win.show_all() + self.win.iconify() + ''' + self.icon = Gtk.StatusIcon() + self.icon.set_from_file(icon) + self.icon.set_title(title) + self.icon.connect("activate", self._click) + self.icon.connect("popup-menu", self._click) + ''' subprocess.Popen([ctl, 'start'], close_fds=True, preexec_fn=preexec) if not self.autostart: GLib.timeout_add_seconds(1, self._open, None) @@ -152,16 +149,14 @@ class OMLIcon: url += '#%s' % port webbrowser.open_new_tab(url) -def preexec(): # Don't forward signals. - os.setpgrp() if __name__ == '__main__': import signal autostart = len(sys.argv) > 1 and sys.argv[1] == '--autostart' - if OMLIcon.is_running(): - OMLIcon.load() + if OMLStatus.is_running(): + OMLStatus.load() else: - oml = OMLIcon(autostart) + oml = OMLStatus(autostart) main_loop = GLib.MainLoop() try: main_loop.run()