Ahora que he descubierto cómo configurar iTerm2 como el controlador ssh: // URL , me gustaría iTerm2 para responder a una URL ssh abriendo una nueva ventana en lugar de abrir una nueva pestaña en una ventana existente. ¿Es esto posible?
Ahora que he descubierto cómo configurar iTerm2 como el controlador ssh: // URL , me gustaría iTerm2 para responder a una URL ssh abriendo una nueva ventana en lugar de abrir una nueva pestaña en una ventana existente. ¿Es esto posible?
Tenía curiosidad por el mismo problema. Después de revisar el código fuente , encontré en iTerm2 v1.0.0.20111020 está codificado para abrir un nueva sesión como pestaña si ya existe una sesión, cuando recibe casi cualquier comando de "iniciar esta URL con un controlador".
Mis habilidades con Xcode y Objective-C todavía son bastante débiles, pero si quieres darle una oportunidad, creo que el problema está relacionado con el archivo fuente iTermController.m . En las líneas 789 a 870, el método launchBookmark:withURL
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
, addNewSession
funciona como se esperaba al abrir una nueva ventana, ya que una no se está ejecutando actualmente. Quizás pueda modificar el código para forzar que el primer bloque se ejecute siempre, independientemente del contenido de theTerm
.
Espero que esto ayude !! .. Puede valer presentar un informe de error o contactando con el autor si aún tiene problemas.