Abra la sesión iTerm2 SSH en una nueva ventana en lugar de una nueva pestaña

Ahora que descubrí cómo configurar iTerm2 como el controlador de URL ssh:// , me gustaría que iTerm2 responda a una URL ssh abriendo una nueva ventana en lugar de abrir una nueva pestaña en una ventana existente. es posible?

Puede arrastrar cualquier pestaña fuera de una ventana de iTerm 2 para crear una nueva ventana.

Respuestas (1)

Tenía curiosidad sobre el mismo problema. Después de revisar el código fuente , encontré que iTerm2 v1.0.0.20111020 está codificado para abrir una nueva sesión como una pestaña si ya existe una sesión, cuando recibe casi cualquier comando "iniciar esta URL con un controlador".

Mis habilidades con Xcode y Objective-C aún son bastante débiles, pero si quieres intentarlo, creo que el problema está relacionado con el archivo fuente iTermController.m . En las líneas 789 a 870 el launchBookmark:withURLmétodo tiene el siguiente código:

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

Sospecho que cuando theTerm == nil, addNewSessionfunciona como se esperaba al abrir una nueva ventana, ya que actualmente no se está ejecutando una. Tal vez pueda modificar el código para forzar que el primer bloque se ejecute siempre, independientemente del theTermcontenido de .

¡¡Espero que esto ayude!! .. Puede valer la pena enviar un informe de error o ponerse en contacto con el autor si todavía tiene problemas.

Envió una solicitud de función: code.google.com/p/iterm2/issues/detail?id=1567
+1 en el código de Google. Propondría que haya una opción para deshabilitar las pestañas por completo, ya que personalmente nunca las uso. Sin embargo, esto puede ser excesivo, ya que la única vez que me encontré con una "pestaña forzada" fue en este caso de uso. Entonces, si upstream puede corregir este error específico, también estaré feliz :)