Initial FocusFixer implementation
Menu-bar utility that fixes cross-display keyboard focus loss: a listen-only CGEvent tap locates the window under the cursor and reasserts app activation + AX focus on it, with debounce, tap auto-recovery, and an Accessibility permission gate. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+53
@@ -0,0 +1,53 @@
|
||||
name: FocusFixer
|
||||
options:
|
||||
minimumXcodeGenVersion: "2.38.0"
|
||||
configs:
|
||||
Debug: debug
|
||||
Release: release
|
||||
settings:
|
||||
base:
|
||||
SWIFT_VERSION: "5.9"
|
||||
MACOSX_DEPLOYMENT_TARGET: "13.0"
|
||||
CODE_SIGN_STYLE: Automatic
|
||||
ENABLE_HARDENED_RUNTIME: NO
|
||||
targets:
|
||||
FocusFixer:
|
||||
type: application
|
||||
platform: macOS
|
||||
deploymentTarget: "13.0"
|
||||
sources:
|
||||
- path: FocusFixer
|
||||
excludes:
|
||||
- Info.plist
|
||||
settings:
|
||||
base:
|
||||
PRODUCT_NAME: FocusFixer
|
||||
PRODUCT_BUNDLE_IDENTIFIER: com.local.focusfixer
|
||||
INFOPLIST_FILE: FocusFixer/Info.plist
|
||||
GENERATE_INFOPLIST_FILE: NO
|
||||
FocusFixerTests:
|
||||
type: bundle.unit-test
|
||||
platform: macOS
|
||||
deploymentTarget: "13.0"
|
||||
sources:
|
||||
- path: FocusFixerTests
|
||||
dependencies:
|
||||
- target: FocusFixer
|
||||
settings:
|
||||
base:
|
||||
GENERATE_INFOPLIST_FILE: YES
|
||||
BUNDLE_LOADER: "$(TEST_HOST)"
|
||||
TEST_HOST: "$(BUILT_PRODUCTS_DIR)/FocusFixer.app/Contents/MacOS/FocusFixer"
|
||||
schemes:
|
||||
FocusFixer:
|
||||
build:
|
||||
targets:
|
||||
FocusFixer: all
|
||||
FocusFixerTests: [test]
|
||||
run:
|
||||
config: Debug
|
||||
test:
|
||||
config: Debug
|
||||
gatherCoverageData: false
|
||||
targets:
|
||||
- FocusFixerTests
|
||||
Reference in New Issue
Block a user