generated from eblume/project-template
All checks were successful
Build / validate (pull_request) Successful in 5m52s
The global ⌘' quick-add overlay is a borderless, transparent, always-on-top accessory window that winit hides with `Visible(false)`. That orders the window out visually but leaves heph-quickadd the *active* application — so after a capture (or Esc / toggle) keyboard focus never returns to the app the user was in, and the lingering overlay can keep intercepting clicks where it used to sit. Hide at the application level instead via `NSApplication.hide:`, which fully orders our windows out and activates the next app in line (the previously focused one). On re-show, `unhide:` clears that hidden flag before the existing viewport `Focus` command makes the field key again. Both are macOS-only no-ops elsewhere, wired through new `app_yield_focus`/`app_take_focus` helpers backed by objc2 / objc2-app-kit (unified to the 0.6/0.3 line global-hotkey already pulls). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
34 lines
1.1 KiB
TOML
34 lines
1.1 KiB
TOML
[package]
|
|
name = "heph-quickadd"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
license.workspace = true
|
|
publish.workspace = true
|
|
authors.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
[dependencies]
|
|
heph-core = { path = "../heph-core" }
|
|
hephd = { path = "../hephd" }
|
|
anyhow.workspace = true
|
|
serde_json.workspace = true
|
|
chrono.workspace = true
|
|
clap.workspace = true
|
|
eframe = "0.32"
|
|
global-hotkey = "0.8"
|
|
|
|
# macOS-only: winit for the accessory-mode activation policy (no Dock icon),
|
|
# pinned to the same minor eframe carries so cargo unifies to one winit; libc
|
|
# for getppid() (orphan detection — self-exit when the supervising daemon dies);
|
|
# objc2 + objc2-app-kit to hand keyboard focus back to the previously active app
|
|
# when the popover hides (NSApplication.hide:/unhide:). Pinned to the 0.6/0.3
|
|
# line global-hotkey already pulls in, so cargo unifies to one copy.
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
winit = "0.30"
|
|
libc = "0.2"
|
|
objc2 = "0.6"
|
|
objc2-app-kit = { version = "0.3", default-features = false, features = [
|
|
"std",
|
|
"NSApplication",
|
|
"NSResponder",
|
|
] }
|