-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Add smooth terminal scrollback #4419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -77105,6 +77105,23 @@ | |
| } | ||
| } | ||
| }, | ||
| "settings.search.alias.setting.terminal.smooth-scrolling": { | ||
| "extractionState": "manual", | ||
| "localizations": { | ||
| "en": { | ||
| "stringUnit": { | ||
| "state": "translated", | ||
| "value": "terminal.smoothScrolling smooth scroll scrolling pixel precise trackpad magic mouse scrollback" | ||
| } | ||
| }, | ||
| "ja": { | ||
| "stringUnit": { | ||
| "state": "translated", | ||
| "value": "terminal.smoothScrolling smooth scroll scrolling pixel precise trackpad magic mouse scrollback ターミナル スムーズ スクロール トラックパッド" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
|
Comment on lines
+77108
to
+77124
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Description: Extract all unique locale codes from the Localizable.xcstrings catalog
# and check if the new keys are missing any of them.
# Extract all unique locale keys from the catalog
echo "=== All locales found in Localizable.xcstrings ==="
cat Resources/Localizable.xcstrings | jq -r '
.. | objects | select(has("localizations")) | .localizations | keys[]
' | sort -u
echo ""
echo "=== Locales present in new smooth-scrolling keys ==="
cat Resources/Localizable.xcstrings | jq -r '
.["settings.terminal.smoothScrolling"].localizations | keys[]
' | sort
echo ""
echo "=== Expected: All locales from first list should appear in second list ==="Repository: manaflow-ai/cmux Length of output: 384 🏁 Script executed: #!/bin/bash
# Search for the new keys in the catalog and show their locale coverage
echo "=== Searching for the four new keys ==="
keys=("settings.search.alias.setting.terminal.smooth-scrolling"
"settings.terminal.smoothScrolling"
"settings.terminal.smoothScrolling.subtitleOff"
"settings.terminal.smoothScrolling.subtitleOn")
for key in "${keys[@]}"; do
echo ""
echo "--- Key: $key ---"
# Extract section for this key including next line to count locales
grep -A 50 "\"$key\"" Resources/Localizable.xcstrings | head -60 | grep -E "(\"(ar|bs|da|de|en|es|fr|it|ja|ko|nb|pl|pt-BR|ru|th|tr|uk|zh-Hans|zh-Hant)\":|\"state\"|\"value\")" | head -20
done
echo ""
echo "=== Verify the key exists at all ==="
grep -c "settings.terminal.smoothScrolling" Resources/Localizable.xcstringsRepository: manaflow-ai/cmux Length of output: 4233 All four new localization keys must include entries for every locale supported by this catalog. The catalog supports 19 locales (ar, bs, da, de, en, es, fr, it, ja, ko, nb, pl, pt-BR, ru, th, tr, uk, zh-Hans, zh-Hant), but all four new keys— Per coding guidelines and established convention, newly added keys must include entries for all 19 supported locales. For lower-confidence locales (ar, bs, da, pl, th, tr), use English-language fallback with Missing locales for each key: ar, bs, da, de, es, fr, it, ko, nb, pl, pt-BR, ru, th, tr, uk, zh-Hans, zh-Hant. 🤖 Prompt for AI Agents |
||
| "settings.search.alias.setting.sidebarAppearance.match-terminal": { | ||
| "extractionState": "manual", | ||
| "localizations": { | ||
|
|
@@ -107103,6 +107120,57 @@ | |
| } | ||
| } | ||
| }, | ||
| "settings.terminal.smoothScrolling": { | ||
| "extractionState": "manual", | ||
| "localizations": { | ||
| "en": { | ||
| "stringUnit": { | ||
| "state": "translated", | ||
| "value": "Smooth Terminal Scrolling" | ||
| } | ||
| }, | ||
| "ja": { | ||
| "stringUnit": { | ||
| "state": "translated", | ||
| "value": "ターミナルのスムーズスクロール" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "settings.terminal.smoothScrolling.subtitleOff": { | ||
| "extractionState": "manual", | ||
| "localizations": { | ||
| "en": { | ||
| "stringUnit": { | ||
| "state": "translated", | ||
| "value": "Uses Ghostty's row-based scrollback handling for terminal wheel gestures." | ||
| } | ||
| }, | ||
| "ja": { | ||
| "stringUnit": { | ||
| "state": "translated", | ||
| "value": "ターミナルのホイールジェスチャには Ghostty の行単位スクロールバック処理を使います。" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "settings.terminal.smoothScrolling.subtitleOn": { | ||
| "extractionState": "manual", | ||
| "localizations": { | ||
| "en": { | ||
| "stringUnit": { | ||
| "state": "translated", | ||
| "value": "Uses pixel-precise scrollback for trackpads and Magic Mouse gestures. Mouse-reporting terminal apps keep their own wheel handling." | ||
| } | ||
| }, | ||
| "ja": { | ||
| "stringUnit": { | ||
| "state": "translated", | ||
| "value": "トラックパッドと Magic Mouse のジェスチャではピクセル単位のスクロールバックを使います。マウス入力を扱うターミナルアプリは独自のホイール処理を維持します。" | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| "settings.terminal.agentAutoResume": { | ||
| "extractionState": "manual", | ||
| "localizations": { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new
settings.search.alias.setting.terminal.smooth-scrollingentry only hasenandjatranslations, but the directly comparablesettings.search.alias.setting.terminal.scrollbarentry carries translations forar,bs,da,de,es,fr,it,ko,nb,pl,pt-BR,ru,th,tr,uk,zh-Hans, andzh-Hant. Users of those locales will get no results (or English fallback) when they search for the smooth-scrolling setting in their own language. The threesettings.terminal.smoothScrollingUI-label strings (title,subtitleOn,subtitleOff) have the same gap, though that matches the existing en+ja-only pattern forsettings.terminal.scrollBar; the alias string deviation is the concrete regression.Rule Used: Flag production user-facing text that is not fully... (source)