Skip to content

Instantly share code, notes, and snippets.

@petermaurer
petermaurer / gist:dd401ce79cb5bf2db73726251567b702
Last active July 29, 2016 08:35
Find first text field/view, make first responder
- (BOOL)makeFirstTextInputSubviewKeyView {
NSWindow *theWindow = [self window];
if ([theWindow isVisible]) {
NSArray *theTopLevelSubviews = [self subviews];
if ([theTopLevelSubviews count]>0) {
Class theTextFieldClass = [NSTextField class];
Class theTextViewClass = [NSTextView class];
NSMutableArray *theTextInputSubviews = [NSMutableArray array];
__block void (^PMCollectTextInputSubviews)(NSArray *) = ^(NSArray *theSubviews) {
for (NSView *aSubview in theSubviews) {
@implementation NSBundle (PMExtensions)
+ (BOOL)vintageStyleLoadNibNamed: (NSString*)theName owner: (id)theOwner {
#if __MAC_OS_X_VERSION_MIN_REQUIRED<__MAC_10_8
return [self loadNibNamed: theName owner: theOwner];
#else
BOOL didLoad = NO;
NSNib *theNib = [[NSNib alloc] initWithNibNamed: theName bundle: nil];
if (theNib) {
NSArray *theTopLevelObjects = nil;
@petermaurer
petermaurer / Name Mangler advanced snippet
Created November 22, 2012 19:42 — forked from theamnesic/Name Mangler advanced snippet
Hardcore evil characters cleaner for Name Mangler (shortened, fixed "g" equivalents, some other minor changes)
[findRegularExpression "[ÀàÁáÂâÃãÄäÅåĀāĂ㥹ǞǟǺǻ]", <name>, "a"]
[findRegularExpression "[ÆæǼǽ]", <name>, "ae"]
[findRegularExpression "[Ḃḃ]", <name>, "b"]
[findRegularExpression "[ĆćÇçČčĈĉĊċ]", <name>, "c"]
[findRegularExpression "[ḐḑĎďḊḋĐđÐðDZdzDŽdž]", <name>, "d"]
[findRegularExpression "[ÈèÉéĚěÊêËëĒēĔĕĘęĖėƷʒǮǯ]", <name>, "e"]
[findRegularExpression "[Ḟḟƒfffiflffifflſt]", <name>, "f"]
[findRegularExpression "[ǴǵĢģǦǧĜĝĞğĠġǤǥ]", <name>, "g"]
[findRegularExpression "[ĤĥĦħ]", <name>, "h"]
[findRegularExpression "[ÌìÍíÎîĨĩÏïĪīĬĭĮįİıIJij]", <name>, "i"]