diff --git a/qubesmanager/main.py b/qubesmanager/main.py index 423374c..be2e810 100755 --- a/qubesmanager/main.py +++ b/qubesmanager/main.py @@ -28,7 +28,7 @@ import fcntl import errno from PyQt4.QtCore import * from PyQt4.QtGui import * -from PyQt4.QtDBus import QDBus,QDBusVariant +from PyQt4.QtDBus import QDBus,QDBusVariant, QDBusMessage from PyQt4.QtDBus import QDBusConnection from PyQt4.QtDBus import QDBusInterface,QDBusAbstractAdaptor @@ -1564,11 +1564,14 @@ class QubesTrayIcon(QSystemTrayIcon): self.connect (self, SIGNAL("activated (QSystemTrayIcon::ActivationReason)"), self.icon_clicked) + self.tray_notifier_type = None self.tray_notifier = QDBusInterface("org.freedesktop.Notifications", "/org/freedesktop/Notifications", "org.freedesktop.Notifications", session_bus) srv_info = self.tray_notifier.call("GetServerInformation") - self.tray_notifier_type = srv_info.arguments()[1] + if srv_info.type() == QDBusMessage.ReplyMessage and len(srv_info + .arguments()) > 1: + self.tray_notifier_type = srv_info.arguments()[1] def update_blk_menu(self): global manager_window diff --git a/qubesmanager/settings.py b/qubesmanager/settings.py index b3b2ee3..d3690c6 100755 --- a/qubesmanager/settings.py +++ b/qubesmanager/settings.py @@ -289,6 +289,12 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog): else: self.run_in_debug_mode.setVisible(False) + if hasattr(self.vm, 'autostart'): + self.autostart_vm.setVisible(True) + self.autostart_vm.setChecked(self.vm.autostart) + else: + self.autostart_vm.setVisible(False) + if hasattr(self.vm, 'seamless_gui_mode'): self.seamless_gui.setVisible(True) self.seamless_gui.setChecked(self.vm.seamless_gui_mode) @@ -405,6 +411,16 @@ class VMSettingsWindow(Ui_SettingsDialog, QDialog): except Exception as ex: msg.append(str(ex)) + #autostart_vm + try: + if self.autostart_vm.isVisible(): + if self.vm.autostart != self.autostart_vm.isChecked(): + self.vm.autostart = self.autostart_vm.isChecked() + self.anything_changed = True + except Exception as ex: + msg.append(str(ex)) + + #seamless_gui try: if self.seamless_gui.isVisible(): if self.vm.seamless_gui_mode != self.seamless_gui.isChecked(): diff --git a/settingsdlg.ui b/settingsdlg.ui index e448740..f960774 100644 --- a/settingsdlg.ui +++ b/settingsdlg.ui @@ -119,12 +119,23 @@ - - - - Seamless GUI - - + + + + + + Start VM automatically on boot + + + + + + + Seamless GUI + + + + @@ -1140,6 +1151,8 @@ netVM include_in_backups run_in_debug_mode + autostart_vm + seamless_gui max_priv_storage init_mem max_mem_size diff --git a/version b/version index 3df5a46..07a2199 100644 --- a/version +++ b/version @@ -1 +1 @@ -2.0.29 +2.0.30