Skip to content

Commit 1e17fb4

Browse files
committed
Add conspicuous EOL indicator for dom0
After EOL date for the current release is decided, a simple update could set `os-eol` feature for dom0. As soon as the time has come, the Qui Updates systray widget will turn to a red warning sign and show appropriate message (with option to go online to see supported releases) resolves: QubesOS/qubes-issues#9965
1 parent 26caa1d commit 1e17fb4

3 files changed

Lines changed: 28 additions & 1 deletion

File tree

icons/scalable/qui-red-warn.svg

Lines changed: 5 additions & 0 deletions
Loading

qui/tray/updates.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import qubesadmin.events
1818
import qui.utils
1919
from qubesadmin import exc
20+
from qubes_config.widgets.utils import open_url_in_disposable
2021

2122
import gi # isort:skip
2223

@@ -95,9 +96,27 @@ def run(self): # pylint: disable=arguments-differ
9596

9697
self.update_indicator_state()
9798

99+
def obsolete_dom0(self, _event):
100+
open_url_in_disposable(
101+
"https://www.qubes-os.org/doc/supported-releases/",
102+
self.qapp,
103+
)
104+
98105
def setup_menu(self):
99106
self.tray_menu.set_reserve_toggle_size(False)
100107

108+
if "dom0" in self.obsolete_vms:
109+
self.tray_menu.append(
110+
RunItem(
111+
_(
112+
"Warning!!! "
113+
"This release of Qubes OS is no longer supported!\n"
114+
"<b>See officially supported releases</b>"
115+
),
116+
self.obsolete_dom0,
117+
)
118+
)
119+
101120
if self.vms_needing_update:
102121
self.tray_menu.append(TextItem(_("<b>Qube updates available!</b>")))
103122
self.tray_menu.append(
@@ -110,7 +129,7 @@ def setup_menu(self):
110129
)
111130
)
112131

113-
if self.obsolete_vms:
132+
if self.obsolete_vms and self.obsolete_vms != {"dom0"}:
114133
self.tray_menu.append(
115134
TextItem(_("<b>Some qubes are no longer supported!</b>"))
116135
)
@@ -224,6 +243,8 @@ def feature_change(self, vm, event, feature, **_kwargs):
224243
self.update_indicator_state()
225244

226245
def update_indicator_state(self):
246+
if "dom0" in self.obsolete_vms:
247+
self.widget_icon.set_from_icon_name("qui-red-warn")
227248
if self.vms_needing_update or self.obsolete_vms:
228249
self.widget_icon.set_visible(True)
229250
else:

rpm_spec/qubes-desktop-linux-manager.spec.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@ gtk-update-icon-cache %{_datadir}/icons/Adwaita &>/dev/null || :
302302
/usr/share/icons/hicolor/scalable/apps/qui-domains-scalable.svg
303303
/usr/share/icons/hicolor/scalable/apps/qui-disk-space.svg
304304
/usr/share/icons/hicolor/scalable/apps/qui-disk-space-warn.svg
305+
/usr/share/icons/hicolor/scalable/apps/qui-red-warn.svg
305306
/usr/share/icons/hicolor/scalable/apps/qui-updates.svg
306307
/usr/share/icons/hicolor/scalable/apps/qui-updates-dark.svg
307308
/usr/share/icons/hicolor/scalable/apps/qui-updates-light.svg

0 commit comments

Comments
 (0)