Draw idle as one timeline, and let the power button answer to its owner

Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
Gabriel Brown
2026-08-24 20:33:44 -04:00
parent 6f0ce639d9
commit e1ff25fc66
23 changed files with 2655 additions and 174 deletions
+8 -1
View File
@@ -106,7 +106,7 @@ ShellRoot {
CaptureOverlay {}
IntelligenceResult {}
ActivityPanel {}
PowerMenu {}
PowerMenu { id: powerMenu }
SettingsWindow { id: settingsWindow }
// Toasts are their own always-on layer; they must be able to appear
@@ -606,6 +606,13 @@ ShellRoot {
IpcHandler {
target: "powermenu"
function toggle(): void { ShellState.toggle("powermenu"); }
// Open with one entry pre-armed, by id: lock, logout, suspend,
// hibernate, restart, poweroff. The power-button bind uses this for
// its "Powers off" setting -- the first press opens the menu with
// Power Off armed and the second press is the menu's own confirm, so
// nothing here is a shortcut past it. An id this machine has no entry
// for just opens the menu.
function open(entry: string): void { powerMenu.preselect(entry); }
}
IpcHandler {