Add idle fade nudge for writing sessions#94
Open
onepixelaway wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an optional idle fade to writing sessions. When enabled, Freewrite watches for a short pause in typing while the timer is running, then gently fades the screen out over 7 seconds. If the writer starts typing again, the fade cancels immediately. If they do not, the current note is saved, the timer is finished, the history sidebar opens, and a fresh entry is created automatically.
Why
Freewriting works best when the writer stays loose and keeps moving. This option is meant to be a quiet, visual nudge: if you drift into overthinking, editing in your head, or staring at the cursor, the page slowly disappears. There is still plenty of time to rescue the session by typing again, so it feels gentle instead of harsh.
The goal is to encourage momentum without adding another modal, alert, or scolding bit of UI. It gives the writer a soft boundary: keep typing, or let this thought be done and start the next one.
Behavior
Don't fade.Fade in 7s.Don't fade,3s,7s,15s,30s, and45s.Demo
Freewrite.mp4
Testing
xcodebuild -project freewrite.xcodeproj -scheme freewrite -configuration Debug -destination 'platform=macOS' -derivedDataPath build/DerivedData CODE_SIGNING_ALLOWED=NO buildBuild succeeds. Existing warnings remain unrelated to this change.