Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

Now that I figured out how to set iTerm2 as the ssh:// URL handler, I'd like iTerm2 to respond to an ssh URL by opening a new window instead of opening a new tab in an existing window. Is this possible?

share|improve this question
1  
You can drag any tab out of an iTerm 2 window to create a new window. –  Ian C. Oct 24 '11 at 0:13

1 Answer 1

up vote 2 down vote accepted

I was curious about the same problem. After reviewing the source code, I found in iTerm2 v1.0.0.20111020 is hard-coded to open a new session as a tab if a session already exists, when it receives nearly any "launch this URL with a handler" command.

My Xcode and Objective-C skills are still rather weak, but if you want to give it a shot I believe the problem is related to the source file iTermController.m. On lines 789 to 870 the launchBookmark:withURL method has the following code:

// Where do we execute this command?
BOOL toggle = NO;
if (theTerm == nil) {
    [iTermController switchToSpaceInBookmark:aDict];
    term = [[[PseudoTerminal alloc] initWithSmartLayout:YES
                                             windowType:[aDict objectForKey:KEY_WINDOW_TYPE] ? [[aDict objectForKey:KEY_WINDOW_TYPE] intValue] : WINDOW_TYPE_NORMAL
                                                 screen:[aDict objectForKey:KEY_SCREEN] ? [[aDict objectForKey:KEY_SCREEN] intValue] : -1] autorelease];
    [self addInTerminals: term];
    toggle = [term windowType] == WINDOW_TYPE_FULL_SCREEN;
} else {
    term = theTerm;
}

id result = [term addNewSession: aDict withURL: url];

I suspect that when theTerm == nil, addNewSession works as expected by launching a new window, since one is currently not running. Perhaps you can modify the code to force the first block to always run, regardless of theTerm's contents.

I hope this helps!! .. It may be worth filing a bug report or contacting the author if you're still having problems.

share|improve this answer
    
Submitted a feature request: code.google.com/p/iterm2/issues/detail?id=1567 –  Lorin Hochstein Oct 31 '11 at 15:01
    
+1 on Google Code. I would purpose that there be an option to disable tabs entirely, as I personally never use them. However this may be overkill as the only time I've ever encountered a "forced tab" is by this use-case. So if upstream can fix this specific bug I'll be happy too :) –  adamrmcd Oct 31 '11 at 19:05

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.