From 58690d7711ca64db448b9dbd0c523000a7b53fb7 Mon Sep 17 00:00:00 2001 From: Ben Grande Date: Wed, 15 Jul 2026 11:38:39 +0200 Subject: [PATCH 1/3] Replace Transient state for Starting For: https://github.com/QubesOS/qubes-issues/issues/10966 Requires: https://github.com/QubesOS/qubes-core-admin-client/pull/480 --- qubesmanager/qube_manager.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/qubesmanager/qube_manager.py b/qubesmanager/qube_manager.py index 6f6164aa..6c985772 100644 --- a/qubesmanager/qube_manager.py +++ b/qubesmanager/qube_manager.py @@ -99,7 +99,7 @@ def __init__(self): "Running" : QIcon(":/running"), "Paused" : QIcon(":/paused"), "Suspended" : QIcon(":/paused"), - "Transient" : QIcon(":/transient"), + "Starting" : QIcon(":/transient"), "Halting" : QIcon(":/transient"), "Dying" : QIcon(":/transient"), "Halted" : QIcon(":/blank"), @@ -549,9 +549,9 @@ def data(self, index, role): state = vm.state.get('power', '') try: ordered_state = str( - ["Running", "Transient", "Halting", "Paused", - "Suspended", "Dying", "Crashed", - "Halted", "NA"].index(state)) + ["Running", "Starting", "Paused", "Suspended", + "Dying", "Halting", "Crashed", "Halted", + "NA"].index(state)) except ValueError: ordered_state = state updated = vm.state.get('outdated', '') @@ -1395,7 +1395,7 @@ def table_selection_changed(self): # TODO: add boot from device to menu and add windows tools there # Update available actions: if vm.state['power'] in \ - ['Running', 'Transient', 'Halting', 'Dying']: + ['Running', 'Starting', 'Halting', 'Dying']: self.action_resumevm.setEnabled(False) self.action_removevm.setEnabled(False) self.template_menu.setEnabled(False) From 133b4c66c2041eb75d4c7f623a6eed8088593e3a Mon Sep 17 00:00:00 2001 From: Ben Grande Date: Wed, 15 Jul 2026 11:39:16 +0200 Subject: [PATCH 2/3] Fix Suspended state typo --- qubesmanager/qube_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qubesmanager/qube_manager.py b/qubesmanager/qube_manager.py index 6c985772..6cc7b936 100644 --- a/qubesmanager/qube_manager.py +++ b/qubesmanager/qube_manager.py @@ -1405,7 +1405,7 @@ def table_selection_changed(self): self.action_restartvm.setEnabled(False) self.action_open_console.setEnabled(False) self.template_menu.setEnabled(False) - elif vm.state['power'] == 'Suspend': + elif vm.state['power'] == 'Suspended': self.action_removevm.setEnabled(False) self.action_pausevm.setEnabled(False) self.action_open_console.setEnabled(False) From b7cfaa76013c37bd121048a04ac7cc16ae2c1364 Mon Sep 17 00:00:00 2001 From: Ben Grande Date: Thu, 16 Jul 2026 17:55:26 +0200 Subject: [PATCH 3/3] Safe icon fallback to unknown power state --- qubesmanager/qube_manager.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qubesmanager/qube_manager.py b/qubesmanager/qube_manager.py index 6cc7b936..63dd2f7f 100644 --- a/qubesmanager/qube_manager.py +++ b/qubesmanager/qube_manager.py @@ -104,6 +104,7 @@ def __init__(self): "Dying" : QIcon(":/transient"), "Halted" : QIcon(":/blank"), "Blocked" : QIcon(":/ban"), + "NA" : QIcon(":/transient"), } self.preloadIcon = QIcon(":/preloaded") self.preloadTooltip = ( @@ -170,7 +171,7 @@ def paint(self, qp, option, index): # draw the main state icon, assuming all items have one qp.drawPixmap(iconRect, - self.stateIcons[index.data()['power']].pixmap(iconSize)) + self.stateIcons.get(index.data()['power'], 'NA').pixmap(iconSize)) left = delta = margin + iconRect.width() if index.data()['outdated']: