Skip to content

Enhance scroll functionality - #5

Open
wenujacodes wants to merge 2 commits into
rbc33:mainfrom
wenujacodes:main
Open

Enhance scroll functionality#5
wenujacodes wants to merge 2 commits into
rbc33:mainfrom
wenujacodes:main

Conversation

@wenujacodes

Copy link
Copy Markdown
Contributor

This pull request introduces an option to restrict haptic feedback to only scrollable content, improves accessibility detection for scrollable regions, and updates project configuration to disable code signing and remove the development team requirement. It also updates localization files to support the new menu item. Fixed #4

New feature: Only scrollable content haptics

  • Added a toggle in the app menu to enable or disable haptic feedback only when the cursor is over scrollable content (AppDelegate.swift, Localizable.strings) [1] [2] [3] [4].
  • Introduced the onlyScrollableContent property to ScrollHapticEngine, persisted via UserDefaults.
  • Updated scroll event handling to check scrollability before triggering haptics.

Accessibility: Scrollability detection

  • Added new ScrollabilityDetector class that uses macOS Accessibility APIs to determine if the current cursor location is within a scrollable region, with caching for responsiveness (ScrollabilityDetector.swift).
  • Integrated ScrollabilityDetector into ScrollHapticEngine.

Build and code signing configuration

  • Changed code signing to manual and disabled code signing identity and development team in Xcode project files, project.xml, and build.sh for easier building and distribution without a team profile [1] [2] [3] [4] [5] [6] [7] [8] [9].

@rbc33

rbc33 commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Hey @wenujacodes, thanks for this — the ScrollabilityDetector addition and the "only scrollable content" toggle look like a solid fix for #4, and I'd like to merge it.

One blocker before I can: the changes to code signing (CODE_SIGN_STYLE set to Manual, and removing/disabling DEVELOPMENT_TEAM in the project file and build.sh) can't go in as-is.

The project intentionally uses Automatic signing with no fixed team ID, so that anyone who clones the repo — me included — can build it with their own local Apple Development certificate without editing project settings first. A hardcoded or manually-configured signing setup only works for the machine/account it was set up on; for anyone else it fails locally with something like No signing certificate "Mac Development" found, which is exactly what happened here with an earlier contribution.

If you can revert just the signing-related changes (CODE_SIGN_STYLE back to Automatic, and drop the DEVELOPMENT_TEAM overrides in the project file and build.sh) and keep the rest of the diff as-is, I'll merge this right away.

Thanks again for tackling #4 — the scrollability detection approach looks like the right fix.

@wenujacodes

Copy link
Copy Markdown
Contributor Author

Hey @rbc33 I've rebased the branch onto the latest main to resolve conflicts and reverted all code-signing and DEVELOPMENT_TEAM modifications in project.pbxproj, project.xml, and build.sh so automatic signing works out-of-the-box as intended.

Only the ScrollabilityDetector implementation, menu toggle, and localizations remain in the diff. Let me know if everything looks good now!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Haptic feedback triggers when scrolling even when there is no content to scroll

2 participants