Skip to content

Instantly share code, notes, and snippets.

@gnachman
gnachman / gist:5403dba83e160ae839bf7bd50aac849e
Created June 3, 2016 21:54
git-tower crash with iTerm2 3.0
Process: Tower [69036]
Path: /Users/USER/Downloads/Tower.app/Contents/MacOS/Tower
Identifier: com.fournova.Tower2
Version: 2.3.4 (305)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Tower [69036]
User ID: 501
Date/Time: 2016-06-03 14:53:27.683 -0700
rdi=self
rsi=selector
rdx=array of events
dx 1st arg
cx 2nd arg
r8 3rd arg
r9 4th arg
local vars:
@gnachman
gnachman / iterm.scpt
Last active April 8, 2023 23:42
Replace /Applications/Docker/Docker Quickstart Terminal.app/Contents/Resources/Scripts/iterm.scpt with this.
set itermRunning to (application "iTerm" is running)
set scriptPath to quoted form of POSIX path of ((path to me as text) & "::" & "start.sh")
set user_shell to do shell script "dscl /Search -read /Users/$USER UserShell | awk '{print $2}'"
tell application "iTerm"
activate
if not (exists window 1) or (itermRunning = false) then
reopen
end if
@gnachman
gnachman / gist:1bae386065ff0e5d80fe
Created February 28, 2016 20:19
zsh shell integration script with debugging
if [[ -o login ]]; then
if [ x"$TERM" != "xscreen" ]; then
# Indicates start of command output. Runs just before command executes.
iterm2_before_cmd_executes() {
printf "(before-cmd)\033]133;C;\r\007(/before-cmd)"
}
iterm2_set_user_var() {
printf "(set-var)\033]1337;SetUserVar=%s=%s\007(/set-var)" "$1" $(printf "%s" "$2" | base64)
}
@gnachman
gnachman / iterm.scpt
Last active April 27, 2018 05:44
Fix docker quickstart terminal for iTerm2 version 2.9 and later
on write_to_file(this_data, target_file, append_data)
try
set the target_file to the target_file as string
set the open_target_file to open for access file target_file with write permission
if append_data is false then set eof of the open_target_file to 0
write this_data to the open_target_file starting at eof
close access the open_target_file
return true
on error
try
#!/bin/bash
# This is based on "preexec.bash" but is customized for iTerm2.
# Note: this module requires 2 bash features which you must not otherwise be
# using: the "DEBUG" trap, and the "PROMPT_COMMAND" variable. iterm2_preexec_install
# will override these and if you override one or the other this _will_ break.
# This is known to support bash3, as well as *mostly* support bash2.05b. It
# has been tested with the default shells on MacOS X 10.4 "Tiger", Ubuntu 5.10
# "Breezy Badger", Ubuntu 6.06 "Dapper Drake", and Ubuntu 6.10 "Edgy Eft".
1455924832.332243 PTYTextView.m:1900 (-[PTYTextView mouseDown:]): Mouse Down on <PTYTextView: 0x7fdc6020a620 frame=NSRect: {{0, 2}, {1096, 952538}} visibleRect=NSRect: {{0, 951538}, {1096, 1000}} dataSource=<VT100Screen: 0x7fdc602068f0 grid:<VT100Grid: 0x7fdc60206a40 size=181 x 83, cursor @ (31,81)>> window=<PTYWindow: 0x7fdc5b544a20 frame=NSRect: {{680, 0}, {1112, 1045}} title=1. manprsi2@vm51bsd0154.qap (ssh) alpha=1.000000 isMain=1 isKey=1 isVisible=1 delegate=0x7fdc5b42c530>> with event NSEvent: type=LMouseDown loc=(224.355,750.559) time=730586.2 flags=0x100 win=0x7fdc5b544a20 winNum=16933 ctxt=0x0 evNum=26468 click=1 buttonNumber=0 pressure=1 deviceID:0x300000014400000 subtype=NSTouchEventSubtype, num touches=0
1455924832.332255 PTYTextView.m:1943 (-[PTYTextView mouseDownImpl:]): mouseDownImpl: called
1455924832.332269 PTYTextView.m:1979 (-[PTYTextView mouseDownImpl:]): mouseDownImpl - set mouseDownIsThreeFingerClick=NO
1455924832.332291 PTYTextView.m:2042 (-[PTYTextView mouseDownImpl:]): Set mouseDown=Y
diff --git a/sources/iTermProfilePreferences.m b/sources/iTermProfilePreferences.m
index 2561f5b..a74debb 100644
--- a/sources/iTermProfilePreferences.m
+++ b/sources/iTermProfilePreferences.m
@@ -12,6 +12,8 @@
#import "NSColor+iTerm.h"
#import "PreferencePanel.h"
+#define BLOCK(x) [[^id() { return [self x]; } copy] autorelease]
+
@gnachman
gnachman / gist:765a64ff1ba4cc5bc42a
Last active August 29, 2015 14:26
How to collect detailed memory usage info for iTerm2
First, install XCode from the app store. It takes a while to download so be patient.
At the command prompt:
git clone https://github.com/gnachman/iTerm2.git
cd iTerm2
open iTerm2.xcodeproj
XCode will open. Do this:
Long click on the "play" right arrow button in the top left of XCode
#!/bin/bash
CD_CMD="cd "\\\"$(pwd)\\\"" && clear"
if echo "$SHELL" | grep -E "/fish$" &> /dev/null; then
CD_CMD="cd "\\\"$(pwd)\\\""; and clear"
fi
VERSION=$(sw_vers -productVersion)
OPEN_IN_TAB=0
while [ "$1" != "" ]; do