Apre la sessione iTerm2 SSH in una nuova finestra invece di una nuova scheda

5

Ora che ho capito come impostare iTerm2 come gestore di ssh: // , vorrei iTerm2 per rispondere a un URL ssh aprendo una nuova finestra invece di aprire una nuova scheda in una finestra esistente. È possibile?

    
posta Lorin Hochstein 24.10.2011 - 00:17
fonte

1 risposta

3

Ero curioso dello stesso problema. Dopo revisione del codice sorgente , ho trovato in iTerm2 v1.0.0.20111020 è hardcoded per aprire un nuova sessione come una scheda se esiste già una sessione, quando riceve quasi tutti i comandi "avvia questo URL con un gestore".

Le mie abilità Xcode e Objective-C sono ancora piuttosto deboli, ma se vuoi provarlo credo che il problema sia legato al file sorgente iTermController.m . Sulle righe da 789 a 870 il metodo launchBookmark:withURL ha il seguente codice:

// 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];

Sospetto che quando theTerm == nil , addNewSession funzioni come previsto avviando una nuova finestra, poiché attualmente non è in esecuzione. Forse puoi modificare il codice per forzare l'esecuzione del primo blocco, indipendentemente dal contenuto di theTerm .

Spero che questo aiuti !! .. Può valere la pena presentare una segnalazione di bug o contattazione dell'autore se hai ancora problemi.

    
risposta data 31.10.2011 - 04:57
fonte

Leggi altre domande sui tag