Skip to content
Snippets Groups Projects
Commit a955504f authored by George Nachman's avatar George Nachman
Browse files

Merge branch 'v2' of https://github.com/gnachman/iTerm2 into v2

parents d7ccf777 7bd18b7e
No related branches found
No related tags found
No related merge requests found
Showing with 282 additions and 192 deletions
Loading
Loading
@@ -122,6 +122,8 @@ static const int kDefaultAdvancesCapacity = 100;
[dict setObject:[NSNumber numberWithDouble:strokeThickness] forKey:NSStrokeWidthAttributeName];
}
[dict setObject:color_ forKey:NSForegroundColorAttributeName];
// Turn off all ligatures
[dict setObject:[NSNumber numberWithInt:0] forKey:NSLigatureAttributeName];
return dict;
}
 
Loading
Loading
This diff is collapsed.
Loading
Loading
@@ -6,6 +6,8 @@
//
 
#import <Cocoa/Cocoa.h>
// This is for the args to CGSSetWindowBackgroundBlurRadiusFunction, which is used for window-blurring using undocumented APIs.
#import <CGSInternal.h>
 
#ifdef BLOCKS_NOT_AVAILABLE
// OS 10.5 Compatibility
Loading
Loading
@@ -110,3 +112,11 @@ typedef NSInteger FutureNSScrollerStyle;
@interface NSScroller (future)
- (void)futureSetKnobStyle:(NSInteger)newKnobStyle;
@end
typedef CGError CGSSetWindowBackgroundBlurRadiusFunction(CGSConnectionID cid, CGSWindowID wid, NSUInteger blur);
CGSSetWindowBackgroundBlurRadiusFunction* GetCGSSetWindowBackgroundBlurRadiusFunction(void);
// 10.7-only function.
typedef void CTFontDrawGlyphsFunction(CTFontRef runFont, const CGGlyph *glyphs, NSPoint *positions, int glyphCount, CGContextRef ctx);
CTFontDrawGlyphsFunction* GetCTFontDrawGlyphsFunction(void);
Loading
Loading
@@ -206,3 +206,41 @@ static FutureNSScrollerStyle GetScrollerStyle(id theObj)
}
 
@end
static void *GetFunctionByName(NSString *library, char *func) {
CFBundleRef bundle;
CFURLRef bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, (CFStringRef) library, kCFURLPOSIXPathStyle, true);
CFStringRef functionName = CFStringCreateWithCString(kCFAllocatorDefault, func, kCFStringEncodingASCII);
bundle = CFBundleCreate(kCFAllocatorDefault, bundleURL);
void *f = NULL;
if (bundle) {
f = CFBundleGetFunctionPointerForName(bundle, functionName);
CFRelease(bundle);
}
CFRelease(functionName);
CFRelease(bundleURL);
return f;
}
CGSSetWindowBackgroundBlurRadiusFunction* GetCGSSetWindowBackgroundBlurRadiusFunction(void) {
static BOOL tried = NO;
static CGSSetWindowBackgroundBlurRadiusFunction *function = NULL;
if (!tried) {
function = GetFunctionByName(@"/System/Library/Frameworks/ApplicationServices.framework",
"CGSSetWindowBackgroundBlurRadius");
tried = YES;
}
return function;
}
CTFontDrawGlyphsFunction* GetCTFontDrawGlyphsFunction(void) {
static BOOL tried = NO;
static CTFontDrawGlyphsFunction *function = NULL;
if (!tried) {
function = GetFunctionByName(@"/System/Library/Frameworks/CoreText.framework",
"CTFontDrawGlyphs");
tried = YES;
}
return function;
}
Loading
Loading
@@ -1029,7 +1029,7 @@ static NSString *kTmuxFontChanged = @"kTmuxFontChanged";
[updateDisplayUntil_ release];
updateDisplayUntil_ = [[NSDate dateWithTimeIntervalSinceNow:10] retain];
if ([[[self tab] parentWindow] currentTab] == [self tab]) {
if ([data length] < 1024) {
if ([data length] < 256) {
[self scheduleUpdateIn:kFastTimerIntervalSec];
} else {
[self scheduleUpdateIn:kSlowTimerIntervalSec];
Loading
Loading
Loading
Loading
@@ -3990,6 +3990,9 @@ static double EuclideanDistance(NSPoint p1, NSPoint p2) {
includeLastNewline:(BOOL)includeLastNewline
trimTrailingWhitespace:(BOOL)trimSelectionTrailingSpaces
{
DLog(@"Find selected text from %d,%d to %d,%d pad=%d, includeLastNewline=%d, trim=%d",
startx, starty, nonInclusiveEndx, endy, (int)pad, (int)includeLastNewline,
(int)trimSelectionTrailingSpaces);
int endx = nonInclusiveEndx-1;
int width = [dataSource width];
const int estimatedSize = (endy - starty + 1) * (width + 1) + (endx - startx + 1);
Loading
Loading
@@ -4089,15 +4092,18 @@ static double EuclideanDistance(NSPoint p1, NSPoint p2) {
- (NSString *)selectedTextWithPad:(BOOL)pad
{
if (startX <= -1) {
DLog(@"startx < 0 so there is no selected text");
return nil;
}
if (selectMode == SELECT_BOX) {
DLog(@"find selected text in box");
return [self contentInBoxFromX:startX
Y:startY
ToX:endX
Y:endY
pad:pad];
} else {
DLog(@"find selected text in normal region");
return ([self contentFromX:startX
Y:startY
ToX:endX
Loading
Loading
@@ -4167,8 +4173,9 @@ static double EuclideanDistance(NSPoint p1, NSPoint p2) {
NSPasteboard *pboard = [NSPasteboard generalPasteboard];
NSString *copyString;
 
DLog(@"-[PTYTextView copy:] called");
copyString = [self selectedText];
DLog(@"Have selected text of length %d. startX=%d, startY=%d, endX=%d, endY=%d", (int)[copyString length], startX, startY, endX, endY);
if (copyString) {
[pboard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:self];
[pboard setString:copyString forType:NSStringPboardType];
Loading
Loading
@@ -6208,6 +6215,7 @@ static double EuclideanDistance(NSPoint p1, NSPoint p2) {
}
 
if (minimumContrast_ > 0.001 && bgColor) {
// TODO: Way too much time spent here. Use previous char's color if it is the same.
thisChar.color = [self color:thisChar.color withContrastAgainst:bgColor];
}
BOOL drawable;
Loading
Loading
@@ -6319,9 +6327,20 @@ static double EuclideanDistance(NSPoint p1, NSPoint p2) {
[thisChar release];
}
 
static void PTYShowGlyphsAtPositions(CTFontRef runFont, const CGGlyph *glyphs, NSPoint *positions, int glyphCount, CGContextRef ctx) {
CTFontDrawGlyphsFunction* function = GetCTFontDrawGlyphsFunction();
if (function) {
// function is CTFontDrawGlyphs. It can draw Emoji, but only exists on 10.7.
CTFontDrawGlyphs(runFont, glyphs, positions, glyphCount, ctx);
} else {
CGContextShowGlyphsAtPositions(ctx, glyphs, positions, glyphCount);
}
}
- (void)drawRun:(CharacterRun *)currentRun
ctx:(CGContextRef)ctx
initialPoint:(NSPoint)initialPoint {
NSGraphicsContext *graphicsContext = [NSGraphicsContext graphicsContextWithGraphicsPort:ctx flipped:YES];
CTLineRef line = [currentRun newLine];
NSArray *runs = (NSArray *)CTLineGetGlyphRuns(line);
int x = currentRun.x;
Loading
Loading
@@ -6361,7 +6380,10 @@ static double EuclideanDistance(NSPoint p1, NSPoint p2) {
0.0, -1.0,
x, y));
 
CGContextShowGlyphsAtPositions(ctx, glyphs, positions, glyphCount);
// Keeps emoji from being transparent.
[graphicsContext setCompositingOperation:NSCompositeSourceOver];
PTYShowGlyphsAtPositions(runFont, glyphs, positions, glyphCount, ctx);
 
if (currentRun.fakeBold) {
// If anti-aliased, drawing twice at the same position makes the strokes thicker.
Loading
Loading
@@ -6371,7 +6393,7 @@ static double EuclideanDistance(NSPoint p1, NSPoint p2) {
x + (currentRun.antiAlias ? 0 : 1),
y));
 
CGContextShowGlyphsAtPositions(ctx, glyphs, positions, glyphCount);
PTYShowGlyphsAtPositions(runFont, glyphs, positions, glyphCount, ctx);
}
x += runWidth;
}
Loading
Loading
@@ -8187,10 +8209,12 @@ static double EuclideanDistance(NSPoint p1, NSPoint p2) {
#endif
BOOL irEnabled = [[PreferencePanel sharedInstance] instantReplay];
long long totalScrollbackOverflow = [dataSource totalScrollbackOverflow];
int allDirty = [dataSource isAllDirty] ? 1 : 0;
[dataSource resetAllDirty];
for (int y = lineStart; y < lineEnd; y++) {
NSMutableData* matches = [resultMap_ objectForKey:[NSNumber numberWithLongLong:y + totalScrollbackOverflow]];
for (int x = 0; x < WIDTH; x++) {
int dirtyFlags = [dataSource dirtyAtX:x Y:y-lineStart];
int dirtyFlags = ([dataSource dirtyAtX:x Y:y-lineStart] | allDirty);
if (dirtyFlags) {
if (irEnabled) {
if (dirtyFlags & 1) {
Loading
Loading
Loading
Loading
@@ -35,8 +35,6 @@
#import "FutureMethods.h"
#import "iTermController.h"
#import "iTermApplicationDelegate.h"
// This is included because the blurring code uses undocumented APIs to do its thing.
#import <CGSInternal.h>
 
#define DEBUG_METHOD_ALLOC 0
#define DEBUG_METHOD_TRACE 0
Loading
Loading
@@ -84,34 +82,6 @@
return self;
}
 
typedef CGError CGSSetWindowBackgroundBlurRadiusFunction(CGSConnectionID cid, CGSWindowID wid, NSUInteger blur);
static void *GetFunctionByName(NSString *library, char *func) {
CFBundleRef bundle;
CFURLRef bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, (CFStringRef) library, kCFURLPOSIXPathStyle, true);
CFStringRef functionName = CFStringCreateWithCString(kCFAllocatorDefault, func, kCFStringEncodingASCII);
bundle = CFBundleCreate(kCFAllocatorDefault, bundleURL);
void *f = NULL;
if (bundle) {
f = CFBundleGetFunctionPointerForName(bundle, functionName);
CFRelease(bundle);
}
CFRelease(functionName);
CFRelease(bundleURL);
return f;
}
static CGSSetWindowBackgroundBlurRadiusFunction* GetCGSSetWindowBackgroundBlurRadiusFunction() {
static BOOL tried = NO;
static CGSSetWindowBackgroundBlurRadiusFunction *function = NULL;
if (!tried) {
function = GetFunctionByName(@"/System/Library/Frameworks/ApplicationServices.framework",
"CGSSetWindowBackgroundBlurRadius");
tried = YES;
}
return function;
}
- (void)encodeRestorableStateWithCoder:(NSCoder *)coder
{
// This gives a warning, but this method won't be called except in 10.7 where this
Loading
Loading
Loading
Loading
@@ -1456,7 +1456,7 @@ static float versionNumber;
[openArrangementAtStartup setState:NO];
}
[hotkey setState: defaultHotkey?NSOnState:NSOffState];
if (defaultHotkeyCode) {
if (defaultHotkeyCode || defaultHotkeyChar) {
[hotkeyField setStringValue:[iTermKeyBindingMgr formatKeyCombination:[NSString stringWithFormat:@"0x%x-0x%x", defaultHotkeyChar, defaultHotkeyModifiers]]];
} else {
[hotkeyField setStringValue:@""];
Loading
Loading
@@ -2362,10 +2362,6 @@ static float versionNumber;
for (NSString *key in localPrefs) {
if ([self preferenceKeyIsSyncable:key] &&
![[remotePrefs objectForKey:key] isEqual:[localPrefs objectForKey:key]]) {
NSLog(@"Prefs differ for key %@. local=\"%@\", remote=\"%@\" [case 1]",
key,
[localPrefs objectForKey:key],
[remotePrefs objectForKey:key]);
return YES;
}
}
Loading
Loading
@@ -2373,10 +2369,6 @@ static float versionNumber;
for (NSString *key in remotePrefs) {
if ([self preferenceKeyIsSyncable:key] &&
![[remotePrefs objectForKey:key] isEqual:[localPrefs objectForKey:key]]) {
NSLog(@"Prefs differ for key %@. local=\"%@\", remote=\"%@\" [case 2]",
key,
[localPrefs objectForKey:key],
[remotePrefs objectForKey:key]);
return YES;
}
}
Loading
Loading
Loading
Loading
@@ -1074,8 +1074,7 @@ NSString *sessionsKey = @"sessions";
title = @"";
}
 
NSUInteger number = [[iTermController sharedInstance] indexOfTerminal:self];
if ([[PreferencePanel sharedInstance] windowNumber] && number < 9) {
if ([[PreferencePanel sharedInstance] windowNumber]) {
[[self window] setTitle:[NSString stringWithFormat:@"%d. %@", number_+1, title]];
} else {
[[self window] setTitle:title];
Loading
Loading
Loading
Loading
@@ -20,6 +20,7 @@
NSMutableArray *pids_;
BOOL hasSelection;
BOOL shutdown_;
NSTimeInterval timerInterval_;
}
 
@property (nonatomic, assign) BOOL hasSelection;
Loading
Loading
Loading
Loading
@@ -102,15 +102,11 @@ static const CGFloat kMargin = 4;
[scrollView_ setDocumentView:tableView_];
[self addSubview:scrollView_];
[tableView_ sizeToFit];
[tableView_ setColumnAutoresizingStyle:NSTableViewSequentialColumnAutoresizingStyle];
 
timer_ = [NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(updateTimer:)
userInfo:nil
repeats:YES];
timerInterval_ = 1;
 
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(setSlowTimer)
Loading
Loading
@@ -140,23 +136,15 @@ static const CGFloat kMargin = 4;
// When not key, check much less often to avoid burning the battery.
- (void)setSlowTimer
{
[timer_ invalidate];
timer_ = [NSTimer scheduledTimerWithTimeInterval:10
target:self
selector:@selector(updateTimer:)
userInfo:nil
repeats:YES];
timerInterval_ = 10;
}
 
- (void)setFastTimer
{
[self updateTimer:nil];
timerInterval_ = 1;
[timer_ invalidate];
timer_ = [NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(updateTimer:)
userInfo:nil
repeats:YES];
timer_ = nil;
[self updateTimer:nil];
}
 
- (void)dealloc
Loading
Loading
@@ -166,6 +154,7 @@ static const CGFloat kMargin = 4;
[tableView_ release];
[scrollView_ release];
[timer_ invalidate];
timer_ = nil;
[names_ release];
[pids_ release];
[super dealloc];
Loading
Loading
@@ -176,43 +165,48 @@ static const CGFloat kMargin = 4;
[[NSNotificationCenter defaultCenter] removeObserver:self];
shutdown_ = YES;
[timer_ invalidate];
[kill_ unbind:@"enabled"];
timer_ = nil;
[kill_ unbind:@"enabled"];
}
 
- (void)updateTimer:(id)sender
{
timer_ = nil;
if (shutdown_) {
return;
}
ToolWrapper *wrapper = (ToolWrapper *)[[self superview] superview];
pid_t rootPid = [[[wrapper.term currentSession] SHELL] pid];
NSSet *pids = [[ProcessCache sharedInstance] childrenOfPid:rootPid levelsToSkip:0];
if ([pids isEqualToSet:[NSSet setWithArray:pids_]]) {
// Nothing to do, skip the expensive step of getting names.
return;
}
[pids_ release];
pids_ = [[[pids allObjects] sortedArrayUsingSelector:@selector(compare:)] retain];
[names_ removeAllObjects];
int i = 0;
for (NSNumber *pid in pids_) {
BOOL fg;
NSString *pidName;
pidName = [[ProcessCache sharedInstance] getNameOfPid:[pid intValue]
isForeground:&fg];
if (pidName) {
[names_ addObject:pidName];
i++;
if (i > kMaxJobs) {
break;
if (![pids isEqualToSet:[NSSet setWithArray:pids_]]) {
// Something changed. Get job names, which is expensive.
[pids_ release];
pids_ = [[[pids allObjects] sortedArrayUsingSelector:@selector(compare:)] retain];
[names_ removeAllObjects];
int i = 0;
for (NSNumber *pid in pids_) {
BOOL fg;
NSString *pidName;
pidName = [[ProcessCache sharedInstance] getNameOfPid:[pid intValue]
isForeground:&fg];
if (pidName) {
[names_ addObject:pidName];
i++;
if (i > kMaxJobs) {
break;
}
}
}
}
[tableView_ reloadData];
[tableView_ reloadData];
 
// Updating the table data causes the cursor to change into an arrow!
[self performSelector:@selector(fixCursor) withObject:nil afterDelay:0];
// Updating the table data causes the cursor to change into an arrow!
[self performSelector:@selector(fixCursor) withObject:nil afterDelay:0];
}
timer_ = [NSTimer scheduledTimerWithTimeInterval:timerInterval_
target:self
selector:@selector(updateTimer:)
userInfo:nil
repeats:NO];
}
 
- (void)fixCursor
Loading
Loading
Loading
Loading
@@ -154,6 +154,7 @@ void TranslateCharacterSet(screen_char_t *s, int len);
BOOL saveToScrollbackInAlternateScreen_;
 
BOOL allowTitleReporting_;
BOOL allDirty_; // When true, all cells are dirty. Faster than a big memset.
}
 
 
Loading
Loading
@@ -285,6 +286,8 @@ void TranslateCharacterSet(screen_char_t *s, int len);
 
- (void)resetDirty;
- (void)setDirty;
- (BOOL)isAllDirty;
- (void)resetAllDirty;
 
// print to ansi...
- (BOOL) printToAnsi;
Loading
Loading
Loading
Loading
@@ -76,6 +76,17 @@ typedef struct {
int savedCursorY;
} SavedScreenInfo;
 
typedef struct {
int x, y;
} CellCoord;
static CellCoord MakeCellCoord(int x, int y) {
CellCoord c;
c.x = x;
c.y = y;
return c;
}
// Wait this long between calls to NSBeep().
static const double kInterBellQuietPeriod = 0.1;
 
Loading
Loading
@@ -773,8 +784,8 @@ static char* FormatCont(int c)
 
// Set the color of prototypechar to all chars between startPoint and endPoint on the screen.
- (void)highlightWithColors:(NSDictionary *)colors
fromPoint:(NSPoint)startPoint
toPoint:(NSPoint)endPoint
fromPoint:(CellCoord)startPoint
toPoint:(CellCoord)endPoint
{
NSColor *fgColor = [colors objectForKey:kHighlightForegroundColor];
NSColor *bgColor = [colors objectForKey:kHighlightBackgroundColor];
Loading
Loading
@@ -890,7 +901,11 @@ static char* FormatCont(int c)
endY = HEIGHT - 1;
endX = WIDTH;
}
[self highlightWithColors:colors fromPoint:NSMakePoint(startX, startY) toPoint:NSMakePoint(endX, endY)];
if (startY < HEIGHT) {
[self highlightWithColors:colors
fromPoint:MakeCellCoord(startX, startY)
toPoint:MakeCellCoord(endX, endY)];
}
 
searchRange.location = range.location + range.length;
searchRange.length = joinedLine.length - searchRange.location;
Loading
Loading
@@ -4125,8 +4140,21 @@ void DumpBuf(screen_char_t* p, int n) {
{
[self resetScrollbackOverflow];
[display deselect];
[display setNeedsDisplay:YES];
DebugLog(@"setDirty (doesn't actually set dirty)");
// There was a call to [display setNeedsDisplay:YES] here which was
// a remnant of iTerm 0.1 (see bug 1124) that was killing performance.
// I'm almost sure it wasn't doing any good.
allDirty_ = YES;
DebugLog(@"setDirty (screen scrolled)");
}
- (BOOL)isAllDirty
{
return allDirty_;
}
- (void)resetAllDirty
{
allDirty_ = NO;
}
 
- (void)doPrint
Loading
Loading
Loading
Loading
@@ -366,12 +366,6 @@ static int getCSIParam(unsigned char *datap,
param->count++;
// reset the parameter flag
readNumericParameter = NO;
if (param->count >= VT100CSIPARAM_MAX) {
// broken
param->cmd = 0xff;
unrecognized = YES;
}
}
else if (isalpha(*datap)||*datap=='@') {
datalen--;
Loading
Loading
@@ -639,9 +633,7 @@ static int getCSIParamCanonically(unsigned char *datap,
 
case ';':
// If we got an implied (blank) parameter, increment the parameter count again
if (param->count >= VT100CSIPARAM_MAX) {
unrecognized = YES;
} else if(readNumericParameter == NO) {
if (param->count < VT100CSIPARAM_MAX && readNumericParameter == NO) {
param->count++;
}
// reset the parameter flag
Loading
Loading
Loading
Loading
@@ -257,8 +257,6 @@
1D7C1AD31276FD6E00461E55 /* PasteboardHistory.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1D7C1AD11276FD6E00461E55 /* PasteboardHistory.xib */; };
1D7C1D1212772ECC00461E55 /* NSDateFormatterExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D7C1D1012772ECC00461E55 /* NSDateFormatterExtras.h */; };
1D7C1D1312772ECC00461E55 /* NSDateFormatterExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D7C1D1112772ECC00461E55 /* NSDateFormatterExtras.m */; };
1D823C4812F92B3F0028422B /* screen.png in Resources */ = {isa = PBXBuildFile; fileRef = 1D823C4712F92B3F0028422B /* screen.png */; };
1D8255F714649F8E007CAE78 /* PrefsMouse.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1D8255F614649F8E007CAE78 /* PrefsMouse.tiff */; };
1D8255F9146869D8007CAE78 /* DefaultPointerActions.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1D8255F8146869D8007CAE78 /* DefaultPointerActions.plist */; };
1D8255FC14687EE8007CAE78 /* PointerPrefsController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D8255FA14687EE8007CAE78 /* PointerPrefsController.h */; };
1D8255FD14687EE8007CAE78 /* PointerPrefsController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D8255FB14687EE8007CAE78 /* PointerPrefsController.m */; };
Loading
Loading
@@ -342,14 +340,11 @@
1DC38818148E840700B89F7C /* SolidColorView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DC38816148E840600B89F7C /* SolidColorView.h */; };
1DC38819148E840700B89F7C /* SolidColorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DC38817148E840700B89F7C /* SolidColorView.m */; };
1DC742A0127C96F90069594C /* IBarCursor.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DC7429F127C96F90069594C /* IBarCursor.png */; };
1DCA5ECC13EE4DA800B7725E /* arrangement.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCA5ECB13EE4DA800B7725E /* arrangement.png */; };
1DCA5ECF13EE507800B7725E /* WindowArrangements.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DCA5ECD13EE507800B7725E /* WindowArrangements.h */; };
1DCA5ED013EE507800B7725E /* WindowArrangements.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DCA5ECE13EE507800B7725E /* WindowArrangements.m */; };
1DCA8BA9121A1B8000ABDEB5 /* PrefsAdvanced.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1DCA8BA3121A1B8000ABDEB5 /* PrefsAdvanced.tiff */; };
1DCA8BAA121A1B8000ABDEB5 /* PrefsBookmarks.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1DCA8BA4121A1B8000ABDEB5 /* PrefsBookmarks.tiff */; };
1DCA8BAB121A1B8000ABDEB5 /* PrefsDisplay.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1DCA8BA5121A1B8000ABDEB5 /* PrefsDisplay.tiff */; };
1DCA8BAC121A1B8000ABDEB5 /* PrefsGeneral.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1DCA8BA6121A1B8000ABDEB5 /* PrefsGeneral.tiff */; };
1DCA8BAD121A1B8000ABDEB5 /* PrefsKeyboard.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1DCA8BA7121A1B8000ABDEB5 /* PrefsKeyboard.tiff */; };
1DCA8BAE121A1B8000ABDEB5 /* PrefsTerminal.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1DCA8BA8121A1B8000ABDEB5 /* PrefsTerminal.tiff */; };
1DCBC811126DD98200D5B961 /* WindowControllerInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DCBC810126DD98200D5B961 /* WindowControllerInterface.h */; };
1DCF3CB71222FF1400AD56F1 /* PresetKeyMappings.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1DCF3CB61222FF1400AD56F1 /* PresetKeyMappings.plist */; };
Loading
Loading
@@ -400,6 +395,18 @@
874206530564169600CFC3F1 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0464AB2F006CD2EC7F000001 /* AppKit.framework */; };
9325FF500FB54E00004EC67C /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9325FF4E0FB54E00004EC67C /* MainMenu.xib */; };
93A6FEFA10685E9900A5F905 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = 93A6FEF910685E9900A5F905 /* dsa_pub.pem */; };
9D737D5F17495B4100B3334D /* PrefsGeneral.png in Resources */ = {isa = PBXBuildFile; fileRef = 9D737D5D17495B4100B3334D /* PrefsGeneral.png */; };
9D737D6017495B4100B3334D /* PrefsGeneral@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9D737D5E17495B4100B3334D /* PrefsGeneral@2x.png */; };
9DB3D6E0176C8F0B0071CCF8 /* PrefsAppearance.png in Resources */ = {isa = PBXBuildFile; fileRef = 9DB3D6DE176C8F0B0071CCF8 /* PrefsAppearance.png */; };
9DB3D6E1176C8F0B0071CCF8 /* PrefsAppearance@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9DB3D6DF176C8F0B0071CCF8 /* PrefsAppearance@2x.png */; };
9DB3D6E4176CB4D80071CCF8 /* PrefsProfile.png in Resources */ = {isa = PBXBuildFile; fileRef = 9DB3D6E2176CB4D80071CCF8 /* PrefsProfile.png */; };
9DB3D6E5176CB4D80071CCF8 /* PrefsProfile@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9DB3D6E3176CB4D80071CCF8 /* PrefsProfile@2x.png */; };
9DB3D6E8176CBC0C0071CCF8 /* PrefsKeyboard.png in Resources */ = {isa = PBXBuildFile; fileRef = 9DB3D6E6176CBC0C0071CCF8 /* PrefsKeyboard.png */; };
9DB3D6E9176CBC0C0071CCF8 /* PrefsKeyboard@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9DB3D6E7176CBC0C0071CCF8 /* PrefsKeyboard@2x.png */; };
9DB3D6EC176CC47E0071CCF8 /* PrefsMouse.png in Resources */ = {isa = PBXBuildFile; fileRef = 9DB3D6EA176CC47E0071CCF8 /* PrefsMouse.png */; };
9DB3D6ED176CC47E0071CCF8 /* PrefsMouse@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9DB3D6EB176CC47E0071CCF8 /* PrefsMouse@2x.png */; };
9DB3D6F0176CCABE0071CCF8 /* PrefsArrangements.png in Resources */ = {isa = PBXBuildFile; fileRef = 9DB3D6EE176CCABE0071CCF8 /* PrefsArrangements.png */; };
9DB3D6F1176CCABE0071CCF8 /* PrefsArrangements@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 9DB3D6EF176CCABE0071CCF8 /* PrefsArrangements@2x.png */; };
A073973E14C768E400786414 /* ColorsMenuItemView.h in Headers */ = {isa = PBXBuildFile; fileRef = A073973D14C768E400786414 /* ColorsMenuItemView.h */; };
A073974014C7694600786414 /* ColorsMenuItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = A073973F14C7694600786414 /* ColorsMenuItemView.m */; };
DDF0FD65062916F70080EF74 /* iTermApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = DDF0FD63062916F70080EF74 /* iTermApplication.h */; };
Loading
Loading
@@ -566,8 +573,6 @@
1D7C1AD21276FD6E00461E55 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/PasteboardHistory.xib; sourceTree = "<group>"; };
1D7C1D1012772ECC00461E55 /* NSDateFormatterExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSDateFormatterExtras.h; sourceTree = "<group>"; };
1D7C1D1112772ECC00461E55 /* NSDateFormatterExtras.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSDateFormatterExtras.m; sourceTree = "<group>"; };
1D823C4712F92B3F0028422B /* screen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = screen.png; path = images/screen.png; sourceTree = "<group>"; };
1D8255F614649F8E007CAE78 /* PrefsMouse.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = PrefsMouse.tiff; path = images/PrefsMouse.tiff; sourceTree = "<group>"; };
1D8255F8146869D8007CAE78 /* DefaultPointerActions.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = DefaultPointerActions.plist; sourceTree = "<group>"; };
1D8255FA14687EE8007CAE78 /* PointerPrefsController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PointerPrefsController.h; sourceTree = "<group>"; };
1D8255FB14687EE8007CAE78 /* PointerPrefsController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PointerPrefsController.m; sourceTree = "<group>"; };
Loading
Loading
@@ -652,14 +657,11 @@
1DC38816148E840600B89F7C /* SolidColorView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SolidColorView.h; sourceTree = "<group>"; };
1DC38817148E840700B89F7C /* SolidColorView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SolidColorView.m; sourceTree = "<group>"; };
1DC7429F127C96F90069594C /* IBarCursor.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = IBarCursor.png; path = images/IBarCursor.png; sourceTree = "<group>"; };
1DCA5ECB13EE4DA800B7725E /* arrangement.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = arrangement.png; path = images/arrangement.png; sourceTree = "<group>"; };
1DCA5ECD13EE507800B7725E /* WindowArrangements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WindowArrangements.h; sourceTree = "<group>"; };
1DCA5ECE13EE507800B7725E /* WindowArrangements.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WindowArrangements.m; sourceTree = "<group>"; };
1DCA8BA3121A1B8000ABDEB5 /* PrefsAdvanced.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = PrefsAdvanced.tiff; path = images/PrefsAdvanced.tiff; sourceTree = "<group>"; };
1DCA8BA4121A1B8000ABDEB5 /* PrefsBookmarks.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = PrefsBookmarks.tiff; path = images/PrefsBookmarks.tiff; sourceTree = "<group>"; };
1DCA8BA5121A1B8000ABDEB5 /* PrefsDisplay.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = PrefsDisplay.tiff; path = images/PrefsDisplay.tiff; sourceTree = "<group>"; };
1DCA8BA6121A1B8000ABDEB5 /* PrefsGeneral.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = PrefsGeneral.tiff; path = images/PrefsGeneral.tiff; sourceTree = "<group>"; };
1DCA8BA7121A1B8000ABDEB5 /* PrefsKeyboard.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = PrefsKeyboard.tiff; path = images/PrefsKeyboard.tiff; sourceTree = "<group>"; };
1DCA8BA8121A1B8000ABDEB5 /* PrefsTerminal.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = PrefsTerminal.tiff; path = images/PrefsTerminal.tiff; sourceTree = "<group>"; };
1DCBC810126DD98200D5B961 /* WindowControllerInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WindowControllerInterface.h; sourceTree = "<group>"; };
1DCF3CB61222FF1400AD56F1 /* PresetKeyMappings.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = PresetKeyMappings.plist; sourceTree = "<group>"; };
Loading
Loading
@@ -736,6 +738,18 @@
9325FF470FB54DF1004EC67C /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/BookmarksWindow.xib; sourceTree = "<group>"; };
9325FF4F0FB54E00004EC67C /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
93A6FEF910685E9900A5F905 /* dsa_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dsa_pub.pem; sourceTree = "<group>"; };
9D737D5D17495B4100B3334D /* PrefsGeneral.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = PrefsGeneral.png; path = images/PrefsGeneral.png; sourceTree = "<group>"; };
9D737D5E17495B4100B3334D /* PrefsGeneral@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "PrefsGeneral@2x.png"; path = "images/PrefsGeneral@2x.png"; sourceTree = "<group>"; };
9DB3D6DE176C8F0B0071CCF8 /* PrefsAppearance.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = PrefsAppearance.png; path = images/PrefsAppearance.png; sourceTree = "<group>"; };
9DB3D6DF176C8F0B0071CCF8 /* PrefsAppearance@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "PrefsAppearance@2x.png"; path = "images/PrefsAppearance@2x.png"; sourceTree = "<group>"; };
9DB3D6E2176CB4D80071CCF8 /* PrefsProfile.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = PrefsProfile.png; path = images/PrefsProfile.png; sourceTree = "<group>"; };
9DB3D6E3176CB4D80071CCF8 /* PrefsProfile@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "PrefsProfile@2x.png"; path = "images/PrefsProfile@2x.png"; sourceTree = "<group>"; };
9DB3D6E6176CBC0C0071CCF8 /* PrefsKeyboard.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = PrefsKeyboard.png; path = images/PrefsKeyboard.png; sourceTree = "<group>"; };
9DB3D6E7176CBC0C0071CCF8 /* PrefsKeyboard@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "PrefsKeyboard@2x.png"; path = "images/PrefsKeyboard@2x.png"; sourceTree = "<group>"; };
9DB3D6EA176CC47E0071CCF8 /* PrefsMouse.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = PrefsMouse.png; path = images/PrefsMouse.png; sourceTree = "<group>"; };
9DB3D6EB176CC47E0071CCF8 /* PrefsMouse@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "PrefsMouse@2x.png"; path = "images/PrefsMouse@2x.png"; sourceTree = "<group>"; };
9DB3D6EE176CCABE0071CCF8 /* PrefsArrangements.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = PrefsArrangements.png; path = images/PrefsArrangements.png; sourceTree = "<group>"; };
9DB3D6EF176CCABE0071CCF8 /* PrefsArrangements@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "PrefsArrangements@2x.png"; path = "images/PrefsArrangements@2x.png"; sourceTree = "<group>"; };
A073973D14C768E400786414 /* ColorsMenuItemView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ColorsMenuItemView.h; sourceTree = "<group>"; };
A073973F14C7694600786414 /* ColorsMenuItemView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ColorsMenuItemView.m; sourceTree = "<group>"; };
DD02572409CB9398008F320C /* PSMAquaTabStyle.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PSMAquaTabStyle.h; sourceTree = "<group>"; };
Loading
Loading
@@ -1179,16 +1193,24 @@
1D093C131217412B0029F9AD /* Resources */ = {
isa = PBXGroup;
children = (
9DB3D6E2176CB4D80071CCF8 /* PrefsProfile.png */,
9DB3D6E3176CB4D80071CCF8 /* PrefsProfile@2x.png */,
9DB3D6DE176C8F0B0071CCF8 /* PrefsAppearance.png */,
9DB3D6DF176C8F0B0071CCF8 /* PrefsAppearance@2x.png */,
9DB3D6E6176CBC0C0071CCF8 /* PrefsKeyboard.png */,
9DB3D6E7176CBC0C0071CCF8 /* PrefsKeyboard@2x.png */,
9DB3D6EA176CC47E0071CCF8 /* PrefsMouse.png */,
9DB3D6EB176CC47E0071CCF8 /* PrefsMouse@2x.png */,
9DB3D6EE176CCABE0071CCF8 /* PrefsArrangements.png */,
9DB3D6EF176CCABE0071CCF8 /* PrefsArrangements@2x.png */,
1D48B2F8165F45BA000046EE /* star@2x.png */,
1D48B293165F4416000046EE /* star.png */,
1D48B291165F405A000046EE /* important@2x.png */,
FBB2EBCD040AC7C201F955DB /* important.png */,
1DA34E02165F268F00AA91C4 /* IBarCursor@2x.png */,
1D8255F614649F8E007CAE78 /* PrefsMouse.tiff */,
5ECE4AE914514058002A9CC2 /* Growl Registration Ticket.growlRegDict */,
1D9DDE9D142E855D00275650 /* Coprocess.png */,
1D19C3621415998E00617E08 /* closebutton.tif */,
1DCA5ECB13EE4DA800B7725E /* arrangement.png */,
1D6A5FDE140D7AA000DE19F8 /* IBarCursorXMR.png */,
1DA34E03165F268F00AA91C4 /* IBarCursorXMR@2x.png */,
1D8F396A13EB7A2C0025B80B /* BroadcastInput.png */,
Loading
Loading
@@ -1196,7 +1218,6 @@
1DA02CFA1327612600D7E7DB /* bell.png */,
1DA030F71328BD7C00D7E7DB /* wrap_to_bottom.png */,
1DA030F81328BD7C00D7E7DB /* wrap_to_top.png */,
1D823C4712F92B3F0028422B /* screen.png */,
1DC7429F127C96F90069594C /* IBarCursor.png */,
1D53A6AE1232DA3B00B7767B /* DefaultGlobalKeyMap.plist */,
1D8C6BF4126592DF00E2744E /* EncodingsWithLowerCase.plist */,
Loading
Loading
@@ -1205,10 +1226,10 @@
1DCF3EFF1224EEBD00AD56F1 /* MigrationMap.plist */,
1DCA8BA3121A1B8000ABDEB5 /* PrefsAdvanced.tiff */,
1DCA8BA4121A1B8000ABDEB5 /* PrefsBookmarks.tiff */,
9D737D5D17495B4100B3334D /* PrefsGeneral.png */,
9D737D5E17495B4100B3334D /* PrefsGeneral@2x.png */,
1DB72CF51396059200EB1005 /* xterm-terminfo.txt */,
1DCA8BA5121A1B8000ABDEB5 /* PrefsDisplay.tiff */,
1DCA8BA6121A1B8000ABDEB5 /* PrefsGeneral.tiff */,
1DCA8BA7121A1B8000ABDEB5 /* PrefsKeyboard.tiff */,
1DCA8BA8121A1B8000ABDEB5 /* PrefsTerminal.tiff */,
1DCF3CB61222FF1400AD56F1 /* PresetKeyMappings.plist */,
1D1158C913444D29009B366F /* iTerm2 Help */,
Loading
Loading
@@ -1747,8 +1768,6 @@
1DCA8BA9121A1B8000ABDEB5 /* PrefsAdvanced.tiff in Resources */,
1DCA8BAA121A1B8000ABDEB5 /* PrefsBookmarks.tiff in Resources */,
1DCA8BAB121A1B8000ABDEB5 /* PrefsDisplay.tiff in Resources */,
1DCA8BAC121A1B8000ABDEB5 /* PrefsGeneral.tiff in Resources */,
1DCA8BAD121A1B8000ABDEB5 /* PrefsKeyboard.tiff in Resources */,
1DCA8BAE121A1B8000ABDEB5 /* PrefsTerminal.tiff in Resources */,
1DCF3CB71222FF1400AD56F1 /* PresetKeyMappings.plist in Resources */,
1D6C4D5A122329F000E0AA3E /* ColorPresets.plist in Resources */,
Loading
Loading
@@ -1763,7 +1782,6 @@
1D94EAB012D64022008225A9 /* UKCrashReporter.nib in Resources */,
1D94EAB112D64022008225A9 /* UKCrashReporter.strings in Resources */,
1D99785312EEB3D600F0794D /* GlobalSearch.xib in Resources */,
1D823C4812F92B3F0028422B /* screen.png in Resources */,
1D237D90131D8BEE004DD60C /* FindView.xib in Resources */,
1DA02CFB1327612600D7E7DB /* bell.png in Resources */,
1DA030F91328BD7C00D7E7DB /* wrap_to_bottom.png in Resources */,
Loading
Loading
@@ -1772,13 +1790,11 @@
1D395913134E75B5005A8021 /* SmartSelectionRules.plist in Resources */,
1DB72CF61396059200EB1005 /* xterm-terminfo.txt in Resources */,
1D8F396B13EB7A2C0025B80B /* BroadcastInput.png in Resources */,
1DCA5ECC13EE4DA800B7725E /* arrangement.png in Resources */,
1D844C8D13FD8B7700CD4F85 /* SplitPanel.xib in Resources */,
1D6A5FDF140D7AA000DE19F8 /* IBarCursorXMR.png in Resources */,
1D19C3631415998E00617E08 /* closebutton.tif in Resources */,
1D9DDE9E142E855D00275650 /* Coprocess.png in Resources */,
5ECE4AEA14514058002A9CC2 /* Growl Registration Ticket.growlRegDict in Resources */,
1D8255F714649F8E007CAE78 /* PrefsMouse.tiff in Resources */,
1D8255F9146869D8007CAE78 /* DefaultPointerActions.plist in Resources */,
1DD4CE7D14A5163B00ED182E /* TmuxDashboard.xib in Resources */,
1DA34E04165F268F00AA91C4 /* IBarCursor@2x.png in Resources */,
Loading
Loading
@@ -1798,6 +1814,18 @@
1D48B294165F4416000046EE /* star.png in Resources */,
1D48B2F9165F45BA000046EE /* star@2x.png in Resources */,
1D085F8916F030FB00B7FCE9 /* PasteView.xib in Resources */,
9D737D5F17495B4100B3334D /* PrefsGeneral.png in Resources */,
9D737D6017495B4100B3334D /* PrefsGeneral@2x.png in Resources */,
9DB3D6E0176C8F0B0071CCF8 /* PrefsAppearance.png in Resources */,
9DB3D6E1176C8F0B0071CCF8 /* PrefsAppearance@2x.png in Resources */,
9DB3D6E4176CB4D80071CCF8 /* PrefsProfile.png in Resources */,
9DB3D6E5176CB4D80071CCF8 /* PrefsProfile@2x.png in Resources */,
9DB3D6E8176CBC0C0071CCF8 /* PrefsKeyboard.png in Resources */,
9DB3D6E9176CBC0C0071CCF8 /* PrefsKeyboard@2x.png in Resources */,
9DB3D6EC176CC47E0071CCF8 /* PrefsMouse.png in Resources */,
9DB3D6ED176CC47E0071CCF8 /* PrefsMouse@2x.png in Resources */,
9DB3D6F0176CCABE0071CCF8 /* PrefsArrangements.png in Resources */,
9DB3D6F1176CCABE0071CCF8 /* PrefsArrangements@2x.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Loading
Loading
Loading
Loading
@@ -311,7 +311,8 @@ static BOOL hasBecomeActive = NO;
kCFPreferencesCurrentApplication);
 
PreferencePanel* ppanel = [PreferencePanel sharedInstance];
if ([ppanel hotkey] && [ppanel hotkeyChar]) {
// Code could be 0 (e.g., A on an American keyboard) and char is also sometimes 0 (seen in bug 2501).
if ([ppanel hotkey] && ([ppanel hotkeyCode] || [ppanel hotkeyChar])) {
[[iTermController sharedInstance] registerHotkey:[ppanel hotkeyCode] modifiers:[ppanel hotkeyModifiers]];
}
if ([ppanel isAnyModifierRemapped]) {
Loading
Loading
images/PrefsAppearance.png

975 B

images/PrefsAppearance@2x.png

2.64 KiB

images/PrefsArrangements.png

893 B

images/PrefsArrangements@2x.png

2.08 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment