summaryrefslogtreecommitdiff
path: root/virtManager/engine.py
diff options
context:
space:
mode:
authorCole Robinson <crobinso@redhat.com>2018-03-08 13:08:17 -0500
committerCole Robinson <crobinso@redhat.com>2018-03-15 21:24:48 -0400
commit56cf42e6eaf62e44f0a05ff7c9f9f7e40800e6e4 (patch)
treeea02b95dc7a30386f69b77e09412e82c7b9d3de1 /virtManager/engine.py
parentcfe633f9649b63f6b2ea17568acba047a66b4231 (diff)
downloadvirt-manager-56cf42e6eaf62e44f0a05ff7c9f9f7e40800e6e4.tar.gz
engine: Only init systray if launching new app
We were doing it too early, and the systray could pop up for a moment when connecting to a remote app
Diffstat (limited to 'virtManager/engine.py')
-rw-r--r--virtManager/engine.py65
1 files changed, 31 insertions, 34 deletions
diff --git a/virtManager/engine.py b/virtManager/engine.py
index b0b90065..83fac2ba 100644
--- a/virtManager/engine.py
+++ b/virtManager/engine.py
@@ -93,7 +93,7 @@ class vmmEngine(vmmGObject):
self.timer = None
self.last_timeout = 0
- self.systray = None
+ self._systray = None
self.delete_dialog = None
self._gtkapplication = None
@@ -115,12 +115,8 @@ class vmmEngine(vmmGObject):
# keep running in system tray if enabled
self.windows = 0
- self.init_systray()
-
self.add_gsettings_handle(
self.config.on_stats_update_interval_changed(self.reschedule_timer))
- self.add_gsettings_handle(
- self.config.on_view_system_tray_changed(self.system_tray_changed))
self.schedule_timer()
self.load_stored_uris()
@@ -154,6 +150,8 @@ class vmmEngine(vmmGObject):
self._application.add_action(action)
def _default_startup(self, skip_autostart, cliuri):
+ self._init_systray()
+
uris = list(self.conns.keys())
if not uris:
logging.debug("No stored URIs found.")
@@ -184,31 +182,30 @@ class vmmEngine(vmmGObject):
self._application.run(None)
- def init_systray(self):
- if self.systray:
- return
+ def _init_systray(self):
+ self._systray = vmmSystray()
+ self._systray.connect("action-toggle-manager", self._do_toggle_manager)
+ self._systray.connect("action-suspend-domain", self._do_suspend_domain)
+ self._systray.connect("action-resume-domain", self._do_resume_domain)
+ self._systray.connect("action-run-domain", self._do_run_domain)
+ self._systray.connect("action-shutdown-domain", self._do_shutdown_domain)
+ self._systray.connect("action-reboot-domain", self._do_reboot_domain)
+ self._systray.connect("action-destroy-domain", self._do_destroy_domain)
+ self._systray.connect("action-reset-domain", self._do_reset_domain)
+ self._systray.connect("action-save-domain", self._do_save_domain)
+ self._systray.connect("action-show-domain", self._do_show_vm)
+ self._systray.connect("action-migrate-domain", self._do_show_migrate)
+ self._systray.connect("action-delete-domain", self._do_delete_domain)
+ self._systray.connect("action-clone-domain", self._do_show_clone)
+ self._systray.connect("action-exit-app", self.exit_app)
+
+ self.connect("conn-added", self._systray.conn_added)
+ self.connect("conn-removed", self._systray.conn_removed)
+
+ self.add_gsettings_handle(
+ self.config.on_view_system_tray_changed(self._system_tray_changed))
- self.systray = vmmSystray()
- self.systray.connect("action-toggle-manager", self._do_toggle_manager)
- self.systray.connect("action-suspend-domain", self._do_suspend_domain)
- self.systray.connect("action-resume-domain", self._do_resume_domain)
- self.systray.connect("action-run-domain", self._do_run_domain)
- self.systray.connect("action-shutdown-domain", self._do_shutdown_domain)
- self.systray.connect("action-reboot-domain", self._do_reboot_domain)
- self.systray.connect("action-destroy-domain", self._do_destroy_domain)
- self.systray.connect("action-reset-domain", self._do_reset_domain)
- self.systray.connect("action-save-domain", self._do_save_domain)
- self.systray.connect("action-show-domain", self._do_show_vm)
- self.systray.connect("action-migrate-domain", self._do_show_migrate)
- self.systray.connect("action-delete-domain", self._do_delete_domain)
- self.systray.connect("action-clone-domain", self._do_show_clone)
- self.systray.connect("action-exit-app", self.exit_app)
-
- self.connect("conn-added", self.systray.conn_added)
- self.connect("conn-removed", self.systray.conn_removed)
-
-
- def system_tray_changed(self, *ignore):
+ def _system_tray_changed(self, *ignore):
systray_enabled = self.config.get_view_system_tray()
if self.windows == 0 and not systray_enabled:
# Show the manager so that the user can control the application
@@ -413,8 +410,8 @@ class vmmEngine(vmmGObject):
def _can_exit(self):
# Don't exit if system tray is enabled
return (self.windows <= 0 and
- self.systray and
- not self.systray.is_visible())
+ self._systray and
+ not self._systray.is_visible())
def _cleanup(self):
self.err = None
@@ -426,9 +423,9 @@ class vmmEngine(vmmGObject):
if self.timer is not None:
GLib.source_remove(self.timer)
- if self.systray:
- self.systray.cleanup()
- self.systray = None
+ if self._systray:
+ self._systray.cleanup()
+ self._systray = None
self.get_manager()
if self.windowManager: