diff options
Diffstat (limited to 'redo/window_darwin.m')
| -rw-r--r-- | redo/window_darwin.m | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/redo/window_darwin.m b/redo/window_darwin.m index a923ef5..9a02862 100644 --- a/redo/window_darwin.m +++ b/redo/window_darwin.m @@ -38,10 +38,26 @@ id newWindow(intptr_t width, intptr_t height) { - return [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, (CGFloat) width, (CGFloat) height) + NSWindow *w; + NSTextView *tv; + + w = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, (CGFloat) width, (CGFloat) height) styleMask:(NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask) backing:NSBackingStoreBuffered defer:YES]; + // we do not want substitutions + // text fields, labels, etc. take their smart quotes and other autocorrect settings from their parent window, which provides a shared "field editor" + // so we have to turn them off here + // thanks akempgen in irc.freenode.net/#macdev + // for some reason, this selector returns NSText but is documented to return NSTextView... + // TODO isolate into its own function when (if?) we add TextArea + tv = (NSTextView *) [w fieldEditor:YES forObject:nil]; + [tv setEnabledTextCheckingTypes:0]; + [tv setAutomaticDashSubstitutionEnabled:NO]; + // don't worry about automatic data detection; it won't change stringValue (thanks pretty_function in irc.freenode.net/#macdev) + [tv setAutomaticSpellingCorrectionEnabled:NO]; + [tv setAutomaticTextReplacementEnabled:NO]; + return w; } void windowSetDelegate(id win, void *w) |
