6 votes

Ouvrir une session SSH iTerm2 dans une nouvelle fenêtre au lieu d'un nouvel onglet

Maintenant que j'ai compris comment définir iTerm2 comme gestionnaire d'URL ssh:// Je voudrais que iTerm2 réponde à une URL ssh en ouvrant une nouvelle fenêtre au lieu d'ouvrir un nouvel onglet dans une fenêtre existante. Est-ce possible ?

4voto

adamrmcd Points 1420

J'étais curieux de connaître le même problème. Après avoir l'examen du code source L'erreur que j'ai trouvée dans iTerm2 v1.0.0.20111020 est codée en dur pour ouvrir une nouvelle session en tant qu'onglet si une session existe déjà, lorsqu'il reçoit presque n'importe quelle commande "launch this URL with a handler" (lancer cette URL avec un gestionnaire).

Mes compétences en Xcode et Objective-C sont encore assez faibles, mais si vous voulez essayer, je pense que le problème est lié au fichier source iTermController.m . Aux lignes 789 à 870, le launchBookmark:withURL a le code suivant :

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

Je soupçonne que lorsque theTerm == nil , addNewSession fonctionne comme prévu en lançant une nouvelle fenêtre, puisqu'il n'y en a pas actuellement. Vous pouvez peut-être modifier le code pour forcer le premier bloc à toujours s'exécuter, indépendamment de l'option theTerm Le contenu de l'article.

J'espère que cela vous aidera ! Cela peut valoir la peine déposer un rapport de bogue ou contacter l'auteur si vous avez encore des problèmes.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X