Is there any way to disable the new text cursor in macOS Sonoma? The caps lock indicator is kind of distracting.
5 Answers
Simplifying the code yet further, you can just do:
sudo defaults write /Library/Preferences/FeatureFlags/Domain/UIKit.plist redesigned_text_cursor -dict-add Enabled -bool NO
The folders will be created if not existing.
You'll still need a restart.
6 Comments
sudo defaults delete /Library/Preferences/FeatureFlags/Domain/UIKit.plist redesigned_text_cursorThanks to stephancasas for the explanation and the solution. Another way of implementing it, from Terminal:
sudo mkdir -p /Library/Preferences/FeatureFlags/Domain
sudo /usr/libexec/PlistBuddy -c "Add 'redesigned_text_cursor:Enabled' bool false" /Library/Preferences/FeatureFlags/Domain/UIKit.plist
Reboot for the change to take effect.
1 Comment
The redesigned insertion point in macOS Sonoma can be disabled by setting an OS feature flag for UIKit/redesigned_text_cursor/Enabled. You can use the JXA script below to create the PLIST with the required values. Just copy everything into Script Editor, change the language to JavaScript, and press play:
#!/usr/bin/env osascript -l JavaScript
const App = Application.currentApplication();
App.includeStandardAdditions = true;
const kCFPrefsFeatureFlagsDir = '/Library/Preferences/FeatureFlags/Domain';
const kCFPrefsFeatureEnabledKey = 'Enabled';
const kUIKitDomainPrefsTemporaryPath = '/tmp/UIKit.plist';
const kUIKitRedesignedTextCursorKey = 'redesigned_text_cursor';
function run(_) {
const dict = $.NSMutableDictionary.new;
const enabled = $.NSMutableDictionary.new;
enabled.setValueForKey(false, kCFPrefsFeatureEnabledKey);
dict.setValueForKey(enabled, kUIKitRedesignedTextCursorKey);
const error = $();
dict.writeToURLError(
$.NSURL.fileURLWithPath(kUIKitDomainPrefsTemporaryPath),
error,
);
if (typeof error.js != 'undefined') {
return `🫤: ${error.localizedDescription}`;
}
return App.doShellScript(
[
`mkdir -p '${kCFPrefsFeatureFlagsDir}'`,
`mv '${kUIKitDomainPrefsTemporaryPath}' '${kCFPrefsFeatureFlagsDir}'`,
].join(' && '),
{
administratorPrivileges: true,
},
).length == 0 ? '😃' : '🫤';
}
6 Comments
osascript whatever.js A password popup will appear, then show the smiley face if all goes well. As mentioned, reboot (maybe relog, reboot for good measure :)).CursorUIViewService process and started looking for caps lock-related instructions. Apple uses pretty consistent naming patterns for their symbols, so if you know what you want to achieve, you can narrow-down to the likely procedures in pretty short order. As for what process I knew to look debug, I go into detail on that here.You can try this to disable Input Source Switching Popup as of Dec 6, 2023:
Open Terminal app and type:
defaults write kCFPreferencesAnyApplication TSMLanguageIndicatorEnabled 0Press Return and restart your machine afterwards.
1 Comment
Toggle in
Onyx – Parameters – Misc. - Show the caps lock indicator
and Deeper – Misc. - Show the caps lock indicator
https://www.titanium-software.fr/en/applications.html
OnyX 4.5.5
• Added option to hide or show the caps lock indicator https://www.titanium-software.fr/en/onyx_release.html
Deeper 3.0.4
• Added option to hide or show the caps lock indicator