Conversation
|
please rebase yout changes onto |
c16bea5 to
8220817
Compare
Done, do I need to open a new PR? |
8220817 to
1fd3dd6
Compare
|
You do not need to make a new PR, but it the git history still not correct(it should not show my commits). I edited it to fix it. If you need to do this in the future, run |
|
Also, make sure you do not let AI coding tools make changes to |
There was a problem hiding this comment.
I tested this, but it didn’t behave as I expected. Is the intention for it to open a file picker? If so, that might not add much benefit, since users could likely move the file themselves more easily. When I selected a file, nothing happened.
Another thing to keep in mind is that the app will usually be run from a DMG, which is a read-only volume. That would prevent moving the file from there (I tested from a normal folder).
I might be misunderstanding the approach, but because of this it may make sense to close this PR.
If you’re interested in working on something in a similar area—improving user-facing messaging) there’s an important issue, #1077, that’s currently blocking the next update and hasn’t been picked up yet. If you’d like to take a look, I’d be happy to explain the details in DMs.
feat: add "Move to Applications" prompt
Overview
PR addresses the issue of users running the app directly from the
~/Downloadsfolder. While the upcoming release.dmgprovides a visual guide, this implementation provides a fallback prompt to help users move the app to the correct location.Prompt Preview
Key Changes
Automatic Path Detection
Added
checkForApplicationsFolder()to verify the app's current location on launch. It checks both the system-wide/Applicationsfolder and the user-specific~/Applicationsfolder usingNSHomeDirectory().Move Logic
Instead of adding an external dependency, I implemented a private
moveSelfToApplications(appPath:)method.CFBundleDisplayNameorCFBundleNameto ensure the "activate" command works regardless of naming changes.NSAppleScriptto delegate the move to Finder. This is the most lightweight way to handle an active process moving itself without requiring complex shell scripts or third-party libraries.Integration Point
The check is triggered within
applicationDidFinishLaunching, placed after the primary window and detector setup to ensure the app remains responsive during the prompt.Safety
The implementation uses
runModal()to ensure the user makes a choice before the app continues into potentially background-only operations.How to Test
.appbundle to any folder besides/Applications./Applications, and the app re-activates from the new location.Note:
Unsure of why other commits are showing in my PR, all my changes were made to boringNotchApp.swift