diff --git a/iterm2/com.googlecode.iterm2.plist b/iterm2/com.googlecode.iterm2.plist index c5c572b..63ea638 100644 --- a/iterm2/com.googlecode.iterm2.plist +++ b/iterm2/com.googlecode.iterm2.plist @@ -2,16 +2,6 @@ - AppleAntiAliasingThreshold - 1 - ApplePressAndHoldEnabled - - AppleScrollAnimationEnabled - 0 - AppleSmoothFixedFontsSizeThreshold - 1 - AppleWindowTabbingMode - manual AutoHideTmuxClientSession CheckTestRelease @@ -294,7 +284,7 @@ EnableProxyIcon EnableRendezvous - + GlobalKeyMap 0x19-0x60000 @@ -410,88 +400,6 @@ 0 LeftOption 2 - LoadPrefsFromCustomFolder - - NSFontPanelAttributes - 1, 0 - NSNavLastRootDirectory - /System/Volumes/Data/Users/stv0g/Library/Application Support/iTerm2/Scripts - NSNavLastUserSetHideExtensionButtonState - - NSNavPanelExpandedSizeForOpenMode - {1114, 448} - NSNavPanelExpandedSizeForSaveMode - {712, 448} - NSNavPanelExpandedStateForSaveMode - - NSQuotedKeystrokeBinding - - NSRepeatCountBinding - - NSScrollAnimationEnabled - - NSScrollViewShouldScrollUnderTitlebar - - NSSplitView Subview Frames NSColorPanelSplitView - - 0.000000, 0.000000, 224.000000, 258.000000, NO, NO - 0.000000, 259.000000, 224.000000, 48.000000, NO, NO - - NSTableView Columns v2 KeyBingingTable - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVVBcnJheYABrgsMEx4fICEiIyQqNDU2VSRu - dWxs0g0ODxJaTlMub2JqZWN0c1YkY2xhc3OiEBGAAoAKgA3TFA0OFRkdV05TLmtleXOj - FhcYgAOABIAFoxobHIAGgAeACIAJWklkZW50aWZpZXJVV2lkdGhWSGlkZGVuUTAjQGjA - AAAAAAAI0iUmJyhaJGNsYXNzbmFtZVgkY2xhc3Nlc1xOU0RpY3Rpb25hcnmiJylYTlNP - YmplY3TTFA0OKy8doxYXGIADgASABaMwMRyAC4AMgAiACVExI0B0oZ2yLQ5W0iUmNzhe - TlNNdXRhYmxlQXJyYXmjNzkpV05TQXJyYXkACAARABoAJAApADIANwBJAEwAUgBUAGMA - aQBuAHkAgACDAIUAhwCJAJAAmACcAJ4AoACiAKYAqACqAKwArgC5AL8AxgDIANEA0gDX - AOIA6wD4APsBBAELAQ8BEQETARUBGQEbAR0BHwEhASMBLAExAUABRAAAAAAAAAIBAAAA - AAAAADoAAAAAAAAAAAAAAAAAAAFM - - NSTableView Sort Ordering v2 KeyBingingTable - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVVBcnJheYABowsMEVUkbnVsbNINDg8QWk5T - Lm9iamVjdHNWJGNsYXNzoIAC0hITFBVaJGNsYXNzbmFtZVgkY2xhc3Nlc15OU011dGFi - bGVBcnJheaMUFhdXTlNBcnJheVhOU09iamVjdAgRGiQpMjdJTFJUWF5jbnV2eH2IkaCk - rAAAAAAAAAEBAAAAAAAAABgAAAAAAAAAAAAAAAAAAAC1 - - NSTableView Supports v2 KeyBingingTable - - NSToolbar Configuration com.apple.NSColorPanel - - TB Is Shown - 1 - - NSUserKeyEquivalents - - iTerm - - - NSWindow Frame NSColorPanel - 0 131 224 275 0 0 1440 877 - NSWindow Frame NSFontPanel - 606 120 830 459 0 0 1440 877 - NSWindow Frame NSNavPanelAutosaveName - 546 480 347 183 0 0 1440 877 - NSWindow Frame ProfilesPanel - 673 327 735 382 0 0 1440 877 - NSWindow Frame SUUpdateAlert - 410 363 620 392 0 0 1440 877 - NSWindow Frame SessionsPreferences - 311 228 606 469 0 0 1440 877 - NSWindow Frame SharedPreferences - 158 138 918 514 0 0 1440 877 - NSWindow Frame UKCrashReporter - 99 294 592 584 0 0 1440 878 - NSWindow Frame iTerm Window 0 - 21 0 1592 1417 0 0 3440 1417 - NSWindow Frame iTerm Window 1 - 721 425 570 452 0 0 1440 877 - NSWindow Frame iTerm Window 2 - 0 425 570 452 0 0 1440 877 NeverWarnAboutPossibleOverrides NeverWarnAboutPossibleOverrides_selection @@ -710,7 +618,9 @@ Blinking Cursor Blur - + + Blur Radius + 8.7488918815691452 Bold Color Blue Component @@ -722,6 +632,8 @@ Red Component 0.65490196078431373 + Brighten Bold Text + Character Encoding 4 Close Sessions On End @@ -730,6 +642,8 @@ 80 Command /usr/local/bin/tmux -CC new -A -s main + Cursor Boost + 0.0 Cursor Color Blue Component @@ -790,8 +704,34 @@ Guid D35FE2E6-EF96-447B-BF98-C56BB221EC1B + Has Hotkey + Horizontal Spacing 1 + HotKey Activated By Modifier + + HotKey Alternate Shortcuts + + HotKey Characters + c + HotKey Characters Ignoring Modifiers + C + HotKey Key Code + 8 + HotKey Modifier Activation + 0 + HotKey Modifier Flags + 1179648 + HotKey Window Animates + + HotKey Window AutoHides + + HotKey Window Dock Click Action + 0 + HotKey Window Floats + + HotKey Window Reopens On Activation + Idle Code 0 Initial Text @@ -861,12 +801,14 @@ Text 0x7f - 0x7f-0x80000 + 0x7f-0x80000-0x0 Action - 11 + 10 + Label + Text - 0x1b 0x08 + db 0xf700-0x220000 @@ -945,12 +887,14 @@ Text [1;6D - 0xf702-0x280000 + 0xf702-0x280000-0x0 Action 10 + Label + Text - b + db 0xf703-0x220000 @@ -1106,6 +1050,8 @@ Red Component 0.023 + Minimum Contrast + 0.43539151278409088 Mouse Reporting Name @@ -1123,7 +1069,7 @@ Prompt Before Closing 2 Right Option Key Sends - 0 + 2 Rows 25 Screen @@ -1166,7 +1112,7 @@ Shortcut Show Status Bar - + Silence Bell Status Bar Layout @@ -1175,8 +1121,12 @@ algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + components @@ -1187,10 +1137,16 @@ knobs + abbreviate-localhost + base: compression resistance 1 base: priority 5 + maxwidth + +infinity + minwidth + 0 path hostname shared text color @@ -1211,8 +1167,12 @@ algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -1238,7 +1198,7 @@ Color Space sRGB Green Component - 0.79200000000000004 + 0.84060000000000001 Red Component 0.90000000000000002 @@ -1247,8 +1207,12 @@ algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -1280,93 +1244,19 @@ Green Component 0.90000000000000002 Red Component - 0.84599999999999997 - - - layout advanced configuration dictionary value - - algorithm - 1 - font - .AppleSystemUIFont 12 - - - - - class - iTermStatusBarGitComponent - configuration - - knobs - - base: compression resistance - 1 - base: priority - 5 - iTermStatusBarGitComponentPollingIntervalKey - 2 - maxwidth - +infinity - minwidth - 0 - shared text color - - Alpha Component - 1 - Blue Component - 0.63 - Color Space - sRGB - Green Component - 0.90000000000000002 - Red Component - 0.68399999999999994 - - - layout advanced configuration dictionary value - - algorithm - 1 - font - .AppleSystemUIFont 12 - - - - - class - iTermStatusBarJobComponent - configuration - - knobs - - base: compression resistance - 1 - base: priority - 5 - maxwidth - +infinity - minwidth - 0 - shared text color - - Alpha Component - 1 - Blue Component - 0.7380000000000001 - Color Space - sRGB - Green Component - 0.90000000000000002 - Red Component - 0.63 + 0.74880000000000002 layout advanced configuration dictionary value algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -1386,7 +1276,7 @@ Alpha Component 1 Blue Component - 0.90000000000000002 + 0.7218 Color Space sRGB Green Component @@ -1399,8 +1289,12 @@ algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -1411,8 +1305,6 @@ knobs - base: compression resistance - 1 base: priority 5 shared text color @@ -1424,7 +1316,7 @@ Color Space sRGB Green Component - 0.7380000000000001 + 0.86760000000000004 Red Component 0.63 @@ -1433,8 +1325,12 @@ algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -1458,17 +1354,21 @@ Color Space sRGB Green Component - 0.63 + 0.65700000000000003 Red Component - 0.68399999999999983 + 0.63 layout advanced configuration dictionary value algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -1494,15 +1394,19 @@ Green Component 0.63 Red Component - 0.84599999999999997 + 0.81359999999999999 layout advanced configuration dictionary value algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -1522,7 +1426,7 @@ Alpha Component 1 Blue Component - 0.79200000000000015 + 0.77580000000000005 Color Space sRGB Green Component @@ -1535,8 +1439,12 @@ algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -1549,7 +1457,7 @@ Terminal Type xterm-256color Transparency - 0.0 + 0.098902153723018693 Unlimited Scrollback Use Bold Font @@ -1572,18 +1480,6 @@ ASCII Anti Aliased - AWDS Pane Directory - - AWDS Pane Option - No - AWDS Tab Directory - - AWDS Tab Option - No - AWDS Window Directory - - AWDS Window Option - No Ambiguous Double Width Ansi 0 Color @@ -1793,7 +1689,9 @@ Blinking Cursor Blur - + + Blur Radius + 34.135734007530615 Bold Color Blue Component @@ -1805,6 +1703,10 @@ Red Component 0.65490196078431373 + Bound Hosts + + Brighten Bold Text + Character Encoding 4 Close Sessions On End @@ -1812,7 +1714,9 @@ Columns 80 Command - /usr/local/bin/bash + /usr/local/bin/tmux -CC new -A -s main + Cursor Boost + 0.0 Cursor Color Blue Component @@ -1849,9 +1753,9 @@ 0.11764705882352941 Custom Command - Yes + No Custom Directory - Recycle + Yes Default Bookmark No Description @@ -1872,11 +1776,41 @@ 0.65490196078431373 Guid - 367A9889-E9E0-493E-AB16-3EB20F7E96EE + 62AD863D-F81C-40FB-9F1A-080202812983 + Has Hotkey + Horizontal Spacing 1 + HotKey Activated By Modifier + + HotKey Alternate Shortcuts + + HotKey Characters + c + HotKey Characters Ignoring Modifiers + C + HotKey Key Code + 8 + HotKey Modifier Activation + 0 + HotKey Modifier Flags + 1179648 + HotKey Window Animates + + HotKey Window AutoHides + + HotKey Window Dock Click Action + 0 + HotKey Window Floats + + HotKey Window Reopens On Activation + Idle Code 0 + Initial Text + + Initial Use Transparency + Jobs to Ignore rlogin @@ -2187,10 +2121,12 @@ Red Component 0.023 + Minimum Contrast + 0.43539151278409088 Mouse Reporting Name - tmux + Hotkey Window Non Ascii Font Monaco 12 Non-ASCII Anti Aliased @@ -2204,13 +2140,13 @@ Prompt Before Closing 2 Right Option Key Sends - 0 + 2 Rows 25 Screen -1 Scrollback Lines - 1000 + 0 Selected Text Color Blue Component @@ -2250,14 +2186,20 @@ Silence Bell + Space + -1 Status Bar Layout advanced configuration algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + components @@ -2268,10 +2210,16 @@ knobs + abbreviate-localhost + base: compression resistance 1 base: priority 5 + maxwidth + +infinity + minwidth + 0 path hostname shared text color @@ -2292,8 +2240,12 @@ algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -2319,7 +2271,7 @@ Color Space sRGB Green Component - 0.79200000000000004 + 0.84060000000000001 Red Component 0.90000000000000002 @@ -2328,8 +2280,12 @@ algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -2361,93 +2317,19 @@ Green Component 0.90000000000000002 Red Component - 0.84599999999999997 - - - layout advanced configuration dictionary value - - algorithm - 1 - font - .AppleSystemUIFont 12 - - - - - class - iTermStatusBarGitComponent - configuration - - knobs - - base: compression resistance - 1 - base: priority - 5 - iTermStatusBarGitComponentPollingIntervalKey - 2 - maxwidth - +infinity - minwidth - 0 - shared text color - - Alpha Component - 1 - Blue Component - 0.63 - Color Space - sRGB - Green Component - 0.90000000000000002 - Red Component - 0.68399999999999994 - - - layout advanced configuration dictionary value - - algorithm - 1 - font - .AppleSystemUIFont 12 - - - - - class - iTermStatusBarJobComponent - configuration - - knobs - - base: compression resistance - 1 - base: priority - 5 - maxwidth - +infinity - minwidth - 0 - shared text color - - Alpha Component - 1 - Blue Component - 0.7380000000000001 - Color Space - sRGB - Green Component - 0.90000000000000002 - Red Component - 0.63 + 0.74880000000000002 layout advanced configuration dictionary value algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -2467,7 +2349,7 @@ Alpha Component 1 Blue Component - 0.90000000000000002 + 0.7218 Color Space sRGB Green Component @@ -2480,8 +2362,12 @@ algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -2492,8 +2378,6 @@ knobs - base: compression resistance - 1 base: priority 5 shared text color @@ -2505,7 +2389,7 @@ Color Space sRGB Green Component - 0.7380000000000001 + 0.86760000000000004 Red Component 0.63 @@ -2514,8 +2398,12 @@ algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -2539,17 +2427,21 @@ Color Space sRGB Green Component - 0.63 + 0.65700000000000003 Red Component - 0.68399999999999983 + 0.63 layout advanced configuration dictionary value algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -2575,15 +2467,19 @@ Green Component 0.63 Red Component - 0.84599999999999997 + 0.81359999999999999 layout advanced configuration dictionary value algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -2603,7 +2499,7 @@ Alpha Component 1 Blue Component - 0.79200000000000015 + 0.77580000000000005 Color Space sRGB Green Component @@ -2616,8 +2512,12 @@ algorithm 1 + auto-rainbow style + 3 font .AppleSystemUIFont 12 + remove empty components + @@ -2630,7 +2530,7 @@ Terminal Type xterm-256color Transparency - 0.0 + 0.11157918713756443 Unlimited Scrollback Use Bold Font @@ -2646,890 +2546,11 @@ Visual Bell Window Type - 0 + 2 Working Directory /Users/stv0g - NoSyncAllAppVersions - - 3.3.8beta1 - 3.3.7beta4 - 3.3.7beta1 - 3.3.5beta2 - 3.3.2beta1 - 3.3.7beta3 - 3.3.8 - 3.3.1beta1 - 3.3.5beta1 - 3.3.3beta2 - 3.3.4beta1 - 3.3.9 - 3.3.2beta2 - 3.3.0 - 3.2.9 - - NoSyncAutoBurialReveal - - NoSyncCommandHistoryHasEverBeenUsed - - NoSyncConfirmShellIntegrationCommand - - NoSyncConfirmShellIntegrationCommand_selection - 0 - NoSyncFrame_SessionsPreferences - - screenFrame - {{0, 0}, {3440, 1440}} - topLeft - {269, 595} - - NoSyncFrame_SharedPreferences - - screenFrame - {{0, 0}, {1440, 900}} - topLeft - {269, 595} - - NoSyncHaveUsedCopyMode - - NoSyncHaveWarnedAboutIncompatibleSoftware - - NoSyncHaveWarnedAboutPasteConfirmationChange - - NoSyncInstallUtilitiesPackage - - NoSyncInstallUtilitiesPackage_selection - 2 - NoSyncInstallationId - 62B6F5EC-6B86-4DA5-9A8C-EF123D1F7B3F - NoSyncLaunchExperienceControllerRunCount - 106 - NoSyncNeverRemindPrefsChangesLostForFile - - NoSyncNeverRemindPrefsChangesLostForFile_selection - 0 - NoSyncNewTabFromTmuxOpensTmux - - NoSyncNewTabFromTmuxOpensTmux_selection - 0 - NoSyncNextAnnoyanceTime - 586642732.33891106 - NoSyncOnboardingWindowHasBeenShown - - NoSyncPermissionToShowTip - - NoSyncPersistentRateLimitedUpdates - - CheckForUpdatedPythonRuntime - 587338659.07061195 - - NoSyncRecordedVariables - - 0 - - - isTerminal - - name - - nonterminalContext - 0 - - - 1 - - - isTerminal - - name - presentationName - nonterminalContext - 0 - - - isTerminal - - name - tmuxRole - nonterminalContext - 0 - - - isTerminal - - name - lastCommand - nonterminalContext - 0 - - - isTerminal - - name - profileName - nonterminalContext - 0 - - - isTerminal - - name - termid - nonterminalContext - 0 - - - isTerminal - - name - id - nonterminalContext - 0 - - - isTerminal - - name - jobName - nonterminalContext - 0 - - - isTerminal - - name - columns - nonterminalContext - 0 - - - isTerminal - - name - tab.tmuxWindowTitle - nonterminalContext - 0 - - - isTerminal - - name - hostname - nonterminalContext - 0 - - - isTerminal - - name - tmuxClientName - nonterminalContext - 0 - - - isTerminal - - name - path - nonterminalContext - 0 - - - isTerminal - - name - triggerName - nonterminalContext - 0 - - - isTerminal - - name - terminalIconName - nonterminalContext - 0 - - - isTerminal - - name - tmuxWindowPane - nonterminalContext - 0 - - - isTerminal - - name - tmuxStatusRight - nonterminalContext - 0 - - - isTerminal - - name - mouseReportingMode - nonterminalContext - 0 - - - isTerminal - - name - iterm2 - nonterminalContext - 4 - - - isTerminal - - name - name - nonterminalContext - 0 - - - isTerminal - - name - tmuxPaneTitle - nonterminalContext - 0 - - - isTerminal - - name - rows - nonterminalContext - 0 - - - isTerminal - - name - username - nonterminalContext - 0 - - - isTerminal - - name - tty - nonterminalContext - 0 - - - isTerminal - - name - autoLogId - nonterminalContext - 0 - - - isTerminal - - name - badge - nonterminalContext - 0 - - - isTerminal - - name - tab.tmuxWindowName - nonterminalContext - 0 - - - isTerminal - - name - tab - nonterminalContext - 2 - - - isTerminal - - name - tmuxStatusLeft - nonterminalContext - 0 - - - isTerminal - - name - autoNameFormat - nonterminalContext - 0 - - - isTerminal - - name - autoName - nonterminalContext - 0 - - - isTerminal - - name - terminalWindowName - nonterminalContext - 0 - - - isTerminal - - name - creationTimeString - nonterminalContext - 0 - - - isTerminal - - name - commandLine - nonterminalContext - 0 - - - isTerminal - - name - jobPid - nonterminalContext - 0 - - - isTerminal - - name - pid - nonterminalContext - 0 - - - 16 - - - isTerminal - - name - currentTab.currentSession.presentationName - nonterminalContext - 0 - - - isTerminal - - name - currentTab.iterm2.localhostName - nonterminalContext - 0 - - - isTerminal - - name - style - nonterminalContext - 0 - - - isTerminal - - name - frame - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.pid - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.termid - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.tmuxClientName - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.tmuxRole - nonterminalContext - 0 - - - isTerminal - - name - currentTab.tmuxWindowName - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.terminalWindowName - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.terminalIconName - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.lastCommand - nonterminalContext - 0 - - - isTerminal - - name - currentTab - nonterminalContext - 2 - - - isTerminal - - name - currentTab.currentSession.tmuxPaneTitle - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession - nonterminalContext - 0 - - - isTerminal - - name - currentTab.window - nonterminalContext - 0 - - - isTerminal - - name - id - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.name - nonterminalContext - 0 - - - isTerminal - - name - titleOverride - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.commandLine - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.path - nonterminalContext - 0 - - - isTerminal - - name - number - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.hostname - nonterminalContext - 0 - - - isTerminal - - name - currentTab.titleOverrideFormat - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.tty - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.username - nonterminalContext - 0 - - - isTerminal - - name - iterm2 - nonterminalContext - 4 - - - isTerminal - - name - titleOverrideFormat - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.tmuxStatusLeft - nonterminalContext - 0 - - - isTerminal - - name - currentTab.tmuxWindowTitle - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.jobName - nonterminalContext - 0 - - - isTerminal - - name - currentTab.currentSession.tmuxStatusRight - nonterminalContext - 0 - - - 2 - - - isTerminal - - name - currentSession.commandLine - nonterminalContext - 0 - - - isTerminal - - name - currentSession.terminalIconName - nonterminalContext - 0 - - - isTerminal - - name - title - nonterminalContext - 1 - - - isTerminal - - name - tmuxWindowTitle - nonterminalContext - 0 - - - isTerminal - - name - title - nonterminalContext - 0 - - - isTerminal - - name - currentSession.presentationName - nonterminalContext - 0 - - - isTerminal - - name - iterm2.localhostName - nonterminalContext - 0 - - - isTerminal - - name - tmuxWindowName - nonterminalContext - 0 - - - isTerminal - - name - window - nonterminalContext - 16 - - - isTerminal - - name - currentSession.tty - nonterminalContext - 0 - - - isTerminal - - name - currentSession.jobName - nonterminalContext - 0 - - - isTerminal - - name - currentSession.name - nonterminalContext - 0 - - - isTerminal - - name - currentSession.lastCommand - nonterminalContext - 0 - - - isTerminal - - name - window - nonterminalContext - 0 - - - isTerminal - - name - id - nonterminalContext - 0 - - - isTerminal - - name - titleOverride - nonterminalContext - 0 - - - isTerminal - - name - currentSession.username - nonterminalContext - 0 - - - isTerminal - - name - currentSession.path - nonterminalContext - 0 - - - isTerminal - - name - iterm2 - nonterminalContext - 4 - - - isTerminal - - name - titleOverrideFormat - nonterminalContext - 0 - - - isTerminal - - name - currentSession.hostname - nonterminalContext - 0 - - - isTerminal - - name - currentSession.terminalWindowName - nonterminalContext - 0 - - - isTerminal - - name - currentSession.pid - nonterminalContext - 0 - - - isTerminal - - name - tmuxWindow - nonterminalContext - 0 - - - isTerminal - - name - currentSession - nonterminalContext - 1 - - - isTerminal - - name - currentSession - nonterminalContext - 0 - - - 4 - - - isTerminal - - name - pid - nonterminalContext - 0 - - - isTerminal - - name - localhostName - nonterminalContext - 0 - - - isTerminal - - name - effectiveTheme - nonterminalContext - 0 - - - - NoSyncSaveDocumentAsPathSet_saveDocumentAs: - - NoSyncSuppressBroadcastInputWarning - - NoSyncSuppressBroadcastInputWarning_selection - 0 - NoSyncSuppressClipboardAccessDeniedWarning - - NoSyncTimeOfFirstLaunchOfVersionWithTip - 518372566.76529002 - NoSyncTurnOffMouseReportingOnHostChange - PMPrintingExpandedStateForPrint2 PasteTabToStringTabStopSize @@ -3567,36 +2588,18 @@ kNextWindowPointerAction - PrefsCustomFolder - ~/.homesick/repos/dotfiles/iterm2/ + PreventEscapeSequenceFromClearingHistory + Print In Black And White PromptOnQuit - + PromptOnQuitEvenIfThereAreNoWindows - + QuitWhenAllWindowsClosed - SUEnableAutomaticChecks - - SUFeedAlternateAppNameKey - iTerm - SUFeedURL - https://iterm2.com/appcasts/final_new.xml?shard=77 - SUHasLaunchedBefore - - SULastCheckTime - 2020-03-30T14:17:27Z - SUSendProfileInfo - - SUUpdateGroupIdentifier - 1115743071 - SUUpdateRelaunchingMarker - SavePasteHistory - Secure Input - ShowFullScreenTabBar SmartPlacement @@ -3634,8 +2637,6 @@ Actions Profiles - UKCrashReporterLastCrashReportDate - 1506309760 Use background pattern indicator UseMetal @@ -3652,8 +2653,6 @@ 0 findRegex_iTerm - iTerm Version - 3.3.9 metalMaximizeThroughput diff --git a/iterm2/iterm2_integration.sh b/iterm2/iterm2_integration.sh index 55b4677..202514a 100755 --- a/iterm2/iterm2_integration.sh +++ b/iterm2/iterm2_integration.sh @@ -34,6 +34,27 @@ ITERM_SHELL_INTEGRATION_INSTALLED=Yes # (including various custom escape sequences). ITERM_PREV_PS1="$PS1" +# A note on execution. When you invoke a command at an interactive prompt the following steps are taken: +# +# 1. The DEBUG trap runs. +# It calls __bp_preexec_invoke_exec +# It runs any registered preexec_functions, including __iterm2_preexec +# 2. The command you executed runs. +# 3. PROMPT_COMMAND runs. +# It runs __bp_precmd_invoke_cmd, which is inserted as the first command in PROMPT_COMMAND. +# It calls any registered precmd_functions +# Then, pre-existing PROMPT_COMMANDs run +# 4. The prompt is shown. +# +# __iterm2_prompt_command used to be run from precmd_functions but then a pre-existing +# PROMPT_COMMAND could clobber the PS1 it modifies. Instead, add __iterm2_prompt_command as the last +# of the "preexisting" PROMPT_COMMANDs so it will be the very last thing done before the prompt is +# shown (unless someone amends PROMPT_COMMAND, but that is on them). +if [[ -n "$PROMPT_COMMAND" ]]; then + PROMPT_COMMAND+=$'\n' +fi; +PROMPT_COMMAND+='__iterm2_prompt_command' + # The following chunk of code, bash-preexec.sh, is licensed like this: # The MIT License # @@ -60,24 +81,9 @@ ITERM_PREV_PS1="$PS1" # Wrap bash-preexec.sh in a function so that, if it exits early due to having # been sourced elsewhere, it doesn't exit our entire script. _install_bash_preexec () { -# -- BEGIN BASH-PREEXEC.SH -- -#!/bin/bash -# -# bash-preexec.sh -- Bash support for ZSH-like 'preexec' and 'precmd' functions. -# https://github.com/rcaloras/bash-preexec -# -# -# 'preexec' functions are executed before each interactive command is -# executed, with the interactive command as its argument. The 'precmd' -# function is executed before each prompt is displayed. -# -# Author: Ryan Caloras (ryan@bashhub.com) -# Forked from Original Author: Glyph Lefkowitz -# -# V0.3.7 -# # -- END ITERM2 CUSTOMIZATIONS -- +# -- BEGIN BASH-PREEXEC.SH -- # bash-preexec.sh -- Bash support for ZSH-like 'preexec' and 'precmd' functions. # https://github.com/rcaloras/bash-preexec # @@ -89,7 +95,7 @@ _install_bash_preexec () { # Author: Ryan Caloras (ryan@bashhub.com) # Forked from Original Author: Glyph Lefkowitz # -# V0.3.7 +# V0.4.0 # # General Usage: @@ -130,13 +136,16 @@ __bp_last_argument_prev_command="$_" __bp_inside_precmd=0 __bp_inside_preexec=0 +# Initial PROMPT_COMMAND string that is removed from PROMPT_COMMAND post __bp_install +__bp_install_string=$'__bp_trap_string="$(trap -p DEBUG)"\ntrap - DEBUG\n__bp_install' + # Fails if any of the given variables are readonly # Reference https://stackoverflow.com/a/4441178 __bp_require_not_readonly() { local var for var; do if ! ( unset "$var" 2> /dev/null ); then - echo "iTerm2 Shell Integration:bash-preexec requires write access to ${var}" >&2 + echo "bash-preexec requires write access to ${var}" >&2 return 1 fi done @@ -169,6 +178,19 @@ __bp_trim_whitespace() { echo -n "$var" } + +# Returns a copy of the passed in string trimmed of whitespace +# and removes any leading or trailing semi colons. +# Used for manipulating substrings in PROMPT_COMMAND +__bp_sanitize_string() { + local sanitized_string + sanitized_string=$(__bp_trim_whitespace "${1:-}") + sanitized_string=${sanitized_string%;} + sanitized_string=${sanitized_string#;} + sanitized_string=$(__bp_trim_whitespace "$sanitized_string") + echo -n "$sanitized_string" +} + # This function is installed as part of the PROMPT_COMMAND; # It sets a variable to indicate that the prompt was just displayed, # to allow the DEBUG trap to know that the next command is likely interactive. @@ -216,7 +238,7 @@ __bp_set_ret_value() { __bp_in_prompt_command() { local prompt_command_array - IFS=';' read -ra prompt_command_array <<< "$PROMPT_COMMAND" + IFS=$'\n;' read -rd '' -a prompt_command_array <<< "$PROMPT_COMMAND" local trimmed_arg trimmed_arg=$(__bp_trim_whitespace "${1:-}") @@ -239,6 +261,7 @@ __bp_in_prompt_command() { # environment to attempt to detect if the current command is being invoked # interactively, and invoke 'preexec' if so. __bp_preexec_invoke_exec() { + # Save the contents of $_ so that it can be restored later on. # https://stackoverflow.com/questions/40944532/bash-preserve-in-a-debug-trap#40944702 __bp_last_argument_prev_command="${1:-}" @@ -346,7 +369,6 @@ __bp_install() { # Adjust our HISTCONTROL Variable if needed. __bp_adjust_histcontrol - # Issue #25. Setting debug trap for subshells causes sessions to exit for # backgrounded subshell commands (e.g. (pwd)& ). Believe this is a bug in Bash. # @@ -358,24 +380,33 @@ __bp_install() { shopt -s extdebug > /dev/null 2>&1 fi; + local __bp_existing_prompt_command + # Remove setting our trap install string and sanitize the existing prompt command string + __bp_existing_prompt_command="${PROMPT_COMMAND//$__bp_install_string[;$'\n']}" # Edge case of appending to PROMPT_COMMAND + __bp_existing_prompt_command="${__bp_existing_prompt_command//$__bp_install_string}" + __bp_existing_prompt_command=$(__bp_sanitize_string "$__bp_existing_prompt_command") + # Install our hooks in PROMPT_COMMAND to allow our trap to know when we've # actually entered something. - PROMPT_COMMAND="__bp_precmd_invoke_cmd; __bp_interactive_mode" + PROMPT_COMMAND=$'__bp_precmd_invoke_cmd\n' + if [[ -n "$__bp_existing_prompt_command" ]]; then + PROMPT_COMMAND+=${__bp_existing_prompt_command}$'\n' + fi; + PROMPT_COMMAND+='__bp_interactive_mode' # Add two functions to our arrays for convenience # of definition. precmd_functions+=(precmd) preexec_functions+=(preexec) - # Since this function is invoked via PROMPT_COMMAND, re-execute PC now that it's properly set - eval "$PROMPT_COMMAND" + # Invoke our two functions manually that were added to $PROMPT_COMMAND + __bp_precmd_invoke_cmd + __bp_interactive_mode } -# Sets our trap and __bp_install as part of our PROMPT_COMMAND to install +# Sets an installation string as part of our PROMPT_COMMAND to install # after our session has started. This allows bash-preexec to be included -# at any point in our bash profile. Ideally we could set our trap inside -# __bp_install, but if a trap already exists it'll only set locally to -# the function. +# at any point in our bash profile. __bp_install_after_session_init() { # Make sure this is bash that's running this and return otherwise. @@ -387,28 +418,20 @@ __bp_install_after_session_init() { # if it can't, just stop the installation __bp_require_not_readonly PROMPT_COMMAND HISTCONTROL HISTTIMEFORMAT || return - # If there's an existing PROMPT_COMMAND capture it and convert it into a function - # So it is preserved and invoked during precmd. - if [[ -n "$PROMPT_COMMAND" ]]; then - eval '__bp_original_prompt_command() { - '"$PROMPT_COMMAND"' - }' - precmd_functions+=(__bp_original_prompt_command) - fi - - # Installation is finalized in PROMPT_COMMAND, which allows us to override the DEBUG - # trap. __bp_install sets PROMPT_COMMAND to its final value, so these are only - # invoked once. - # It's necessary to clear any existing DEBUG trap in order to set it from the install function. - # Using \n as it's the most universal delimiter of bash commands - PROMPT_COMMAND=$'\n__bp_trap_string="$(trap -p DEBUG)"\ntrap DEBUG\n__bp_install\n' + local sanitized_prompt_command + sanitized_prompt_command=$(__bp_sanitize_string "$PROMPT_COMMAND") + if [[ -n "$sanitized_prompt_command" ]]; then + PROMPT_COMMAND=${sanitized_prompt_command}$'\n' + fi; + PROMPT_COMMAND+=${__bp_install_string} } # Run our install so long as we're not delaying it. -if [[ -z "$__bp_delay_install" ]]; then +if [[ -z "${__bp_delay_install:-}" ]]; then __bp_install_after_session_init fi; # -- END BASH-PREEXEC.SH -- + } _install_bash_preexec unset -f _install_bash_preexec @@ -431,8 +454,12 @@ function iterm2_end_osc { } function iterm2_print_state_data() { + local _iterm2_hostname="${iterm2_hostname}" + if [ -z "${iterm2_hostname:-}" ]; then + _iterm2_hostname=$(hostname -f 2>/dev/null) + fi iterm2_begin_osc - printf "1337;RemoteHost=%s@%s" "$USER" "$iterm2_hostname" + printf "1337;RemoteHost=%s@%s" "$USER" "$_iterm2_hostname" iterm2_end_osc iterm2_begin_osc @@ -479,17 +506,20 @@ function iterm2_prompt_suffix() { function iterm2_print_version_number() { iterm2_begin_osc - printf "1337;ShellIntegrationVersion=14;shell=bash" + printf "1337;ShellIntegrationVersion=16;shell=bash" iterm2_end_osc } # If hostname -f is slow on your system, set iterm2_hostname before sourcing this script. +# On macOS we run `hostname -f` every time because it is fast. if [ -z "${iterm2_hostname:-}" ]; then - iterm2_hostname=$(hostname -f 2>/dev/null) - # some flavors of BSD (i.e. NetBSD and OpenBSD) don't have the -f option - if [ $? -ne 0 ]; then - iterm2_hostname=$(hostname) + if [ "$(uname)" != "Darwin" ]; then + iterm2_hostname=$(hostname -f 2>/dev/null) + # some flavors of BSD (i.e. NetBSD and OpenBSD) don't have the -f option + if [ $? -ne 0 ]; then + iterm2_hostname=$(hostname) + fi fi fi @@ -513,7 +543,9 @@ __iterm2_preexec() { __bp_set_ret_value "$__iterm2_last_ret_value" "$__bp_last_argument_prev_command" } -function __iterm2_precmd () { +# Prints the current directory and hostname control sequences. Modifies PS1 to +# add the FinalTerm A and B codes to locate the prompt. +function __iterm2_prompt_command () { __iterm2_last_ret_value="$?" # Work around a bug in CentOS 7.2 where preexec doesn't run if you press @@ -524,8 +556,6 @@ function __iterm2_precmd () { fi iterm2_ran_preexec="" - - # This is an iTerm2 addition to try to work around a problem in the # original preexec.bash. # When the PS1 has command substitutions, this gets invoked for each @@ -596,9 +626,8 @@ function __iterm2_precmd () { __bp_set_ret_value "$__iterm2_last_ret_value" "$__bp_last_argument_prev_command" } -# Install my functions +# Install my function preexec_functions+=(__iterm2_preexec) -precmd_functions+=(__iterm2_precmd) iterm2_print_state_data iterm2_print_version_number