perf: reduce launcher presentation latency

This commit is contained in:
Valdemar Lorenzen
2026-10-16 15:06:20 +02:00
parent a6ea75821b
commit 9979639804
4 changed files with 11 additions and 3 deletions
+2
View File
@@ -35,6 +35,8 @@ Conjure searches the system and user Applications folders. Hover over a result t
Conjure runs without a Dock icon. Dismissing the launcher leaves it running; reopen it from Finder or use your configured global shortcut.
The launcher opens without a window animation; Settings is constructed only when needed, not before the launcher appears.
### Controls
| Action | Control |
+7 -2
View File
@@ -98,7 +98,13 @@ private final class ApplicationDelegate: NSObject, NSApplicationDelegate {
case .command(let command): self?.launcher.toggle(command: command)
}
}
private lazy var settings = SettingsWindowController(shortcuts: shortcuts)
private lazy var settings = makeSettings()
private func makeSettings() -> SettingsWindowController {
let controller = SettingsWindowController(shortcuts: shortcuts)
controller.retryUninstallRecovery = { [uninstaller] in await uninstaller.recover() }
return controller
}
private var startupShortcutError: String?
private var startupRecoveryMessage: String?
@@ -117,7 +123,6 @@ private final class ApplicationDelegate: NSObject, NSApplicationDelegate {
quitItem.target = NSApplication.shared
launcher.window?.contentView?.menu = menu
let loginLaunch = isLoginLaunch
settings.retryUninstallRecovery = { [uninstaller] in await uninstaller.recover() }
Task {
let report = await uninstaller.recover()
guard !report.messages.isEmpty else { return }
@@ -58,6 +58,7 @@ final class LauncherWindowController: NSWindowController, NSWindowDelegate, NSSe
defer: false
)
window.title = "Conjure"
window.animationBehavior = .none
window.appearance = NSAppearance(named: .darkAqua)
window.backgroundColor = .clear
window.isOpaque = false
+1 -1
View File
@@ -1,4 +1,4 @@
- [ ] conjure should pop up quicker when launching than it currently does.
- [x] conjure should pop up quicker when launching than it currently does.
- [ ] conjure emoji selector should have an extra action (default) that both copies and tries to paste the selected emoji into the application that was focused when the conjure window was spawned.
- [ ] add a notes app inspired by raycast notes
- [ ] improve on the conjure translation command