refactor: centralize font-relative UI icon sizing
This commit is contained in:
@@ -155,7 +155,7 @@ Numbered row overlays use 13-point numbers in 22×22-point boxes with a lighter
|
||||
|
||||
The actions selector is an arrowless panel inside the launcher, aligned to the bottom and right edges of the footer action pill, replacing it visually while open rather than floating above it. It shares the launcher's frosted Sunset background, 38-point selection row height, 22×22-point icon boxes with 12-point icon-to-text spacing, 14-point action and search text, rounded selection styling, and Return key badge; selection width follows the panel. Application and command rows use the same sizing constants. SF Symbol optical alignment insets are removed so command icons render inside the same bounds as application icons. The application name appears at the top and borderless action search sits eight points from the bottom, without a divider. Native animations crossfade the panel and footer pill: 160 milliseconds to open and 120 milliseconds to close, with unchanged geometry. Reduce Motion disables the animation. Rapid reopening invalidates stale dismissal completions, and closing panels immediately stop intercepting input. Escape, Command-K, an outside click, or switching away closes it and restores the pill. Closing while Conjure remains active restores launcher search focus; switching away does not steal focus back. Return in action search executes the highlighted action: Open launches the application, while Uninstall opens its review.
|
||||
|
||||
Action symbols use the adjacent title's font size with the native medium optical scale and are never enlarged to fill the icon box. The reserved 22×22-point icon boxes, title positions, and row heights remain unchanged.
|
||||
`IconStyle` in `Sources/Conjure/IconStyle.swift` is the shared font-relative sizing policy: SF Symbols use the adjacent font's point size with native medium optical scale; application/file artwork slots use the font's point size multiplied by 22/14. `IconView` owns those slot constraints, down-only scaling, and zero optical alignment insets, so callers pass the same font used for their text rather than choosing separate icon dimensions. Launcher results and header, Actions, uninstall file rows, Back controls, and inline favorite markers use this policy. The approved Actions appearance remains unchanged; native button hit areas and the generated application-bundle icon are separate from artwork sizing.
|
||||
|
||||
Discovery includes the application bundle and exact bundle-ID paths in your Library: Preferences, Caches, Application Support, Logs, Saved Application State, Application Scripts, and Containers. Embedded extension identifiers are included. App-group entitlements are read from validated native code signatures; related shared Group Containers and Application Scripts remain unchecked because other applications may use them. Conjure does not guess name-based leftovers or include package receipts. This is conservative discovery, not a guarantee that every associated file is found.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user