Add --fit OSD option and use it for system shutdown/reboot/logout

This commit is contained in:
David Heinemeier Hansson
2026-07-22 16:33:54 -07:00
parent 36329cee7a
commit 60a550a646
7 changed files with 57 additions and 16 deletions
+20 -2
View File
@@ -9,6 +9,7 @@ const osd = requireFromRoot('shell/plugins/osd/OsdModel.js')
assertEqual(osd.iconFor('', 0), osd.iconFor('muted', 50), 'osd falls back to muted icon at zero percent')
assertEqual(osd.iconFor('volume-high', 1), osd.iconFor('', 100), 'osd maps high volume aliases')
assertEqual(osd.iconFor('logout', 50), '󰍃', 'osd maps logout icon')
assertEqual(osd.iconFor('custom-symbol', 50), 'custom-symbol', 'osd preserves unknown explicit icons')
assertDeepEqual(
@@ -20,7 +21,8 @@ assertDeepEqual(
value: 75,
message: '75%',
icon: osd.iconFor('volume', 75),
duration: 800
duration: 800,
fit: false
},
'osd builds progress state'
)
@@ -34,8 +36,24 @@ assertDeepEqual(
value: 0,
message: 'Paused',
icon: osd.iconFor('media-pause', -1),
duration: 1200
duration: 1200,
fit: false
},
'osd builds message state'
)
assertDeepEqual(
osd.stateForShow('shutdown', 'Shutting down…', '', '100', '', '5000', '1'),
{
iconKey: 'shutdown',
maxValue: 100,
hasProgress: false,
value: 0,
message: 'Shutting down…',
icon: osd.iconFor('shutdown', -1),
duration: 5000,
fit: true
},
'osd parses fit flag'
)
JS