Comment attribuer un raccourci clavier à un modèle spécifique de nouvelle fenêtre dans Terminal.app?

1

J'ai un modèle configuré dans Terminal.app de Snow Leopard pour créer une nouvelle fenêtre ou un nouvel onglet avec les paramètres d'émulation que je préfère pour un hôte particulier que j'utilise.

J'aimerais attribuer un raccourci clavier à ce modèle afin de pouvoir créer rapidement une nouvelle fenêtre avec ces paramètres.

J'ai essayé d'utiliser le volet Préférences système des raccourcis clavier pour le faire. Je peux attribuer la touche de raccourci au sous-menu MyTemplate, mais cela ne fonctionne pas lorsque j'essaie de l'utiliser. Je pense que MyTemplate est répertorié dans plusieurs sous-menus - un pour la nouvelle fenêtre et un pour le nouvel onglet.

Comment attribuer un raccourci clavier à mon nouveau modèle fantaisie?

PS Je ne souhaite PAS changer mon modèle par défaut (cmd-N).

emmby
la source
Question de suivi postée superuser.com/questions/177574/…
Si cela est important pour vous, veuillez déposer un rapport de bogue: developer.apple.com/bugreporter (Si vous n'en avez pas déjà un, cela nécessite un compte développeur, mais c'est gratuit.)
Chris Page

Réponses:

2

Ouvrez Automator, créez un nouveau service avec les éléments suivants Exécuter AppleScript action (pas d'entrée):

tell application "Terminal"
    activate # switch to Terminal, launch if necessary
    tell application "System Events"
        keystroke "t" using command down # open a new tab
    end tell
    set current settings of selected tab of front window to first settings set whose name is "MyTemplate" # switch settings to your template
end tell

Le service sera accessible depuis le Prestations de service menu, et vous pouvez attribuer un raccourci dans Préférences système »Clavier» Raccourcis clavier »Services

Édité pour ajouter : Vous pouvez spécifier si vous souhaitez que ce service fonctionne de manière globale en spécifiant toute application ou Terminal dans Automator. Les deux fonctionnent avec ce code, il a juste déterminé dans quelles applications le service apparaît.

Daniel Beck
la source
Si vous pouvez vivre avec une nouvelle fenêtre au lieu d’un nouvel onglet, vous pouvez ignorer l’ensemble du scripting de l’interface graphique des événements système et simplement l’utiliser. do script "" - Terminal ouvrira une nouvelle fenêtre pour les scripts lancés à partir d’AppleScript si non tab ou window l'objet est spécifié avec un in clause.
kopischke
1

Vous pouvez enregistrer une configuration dans un fichier .term puis utiliser un lanceur tiers (Quicksilver?) Pour la démarrer à partir de là.


la source
Merci Mankoff. Pas une mauvaise idée, mais j'espérais quelque chose qui n'exigerait pas de lanceur
emmby
Vous pouvez le faire avec Spotlight ... Utilise toujours un lanceur mais au moins pas une 3ème partie. Désolé, je ne peux pas penser à autre chose à ce stade ...
Hmm .. Vous pouvez le faire sans raccourci clavier, en utilisant plutôt votre souris. Faites glisser le fichier .term dans le Dock, lancez-le en cliquant sur? Je suppose que vous pouvez également utiliser un raccourci clavier pour accéder au dock également.
Tout utilitaire capable d’attribuer un raccourci clavier à un fichier spécifique fera l'affaire (j'utilise Alfred avec le PowerPack). Une mise en garde: cela ne reflètera pas les modifications que vous apportez au profil dans Terminal.app sauf si vous vous souvenez d'exporter le profil à chaque fois.
kopischke
Si vous ne voulez pas utiliser de lanceur, les services Automator d’OS X le feront aussi (voir @ DanielBeck réponse ) - créez un service Automator en ouvrant le fichier .term (vous pouvez le faire entièrement avec les actions intégrées - aucun AppleScript nécessaire) et attribuez-lui un raccourci clavier dans les Préférences Système. Notez cependant que les services Automator ont tendance à réagir très lentement au premier lancement - un lanceur dédié serait probablement beaucoup plus réactif.
kopischke
0

Je présume que vous avez raison de penser que le problème est le même élément dans plusieurs sous-menus. J'ai attribué des raccourcis clavier aux éléments de sous-menu sans aucun problème lorsque la chaîne était unique.

Par conséquent, une approche consisterait à supprimer entièrement l'élément de menu "Nouvel onglet". Essayez de modifier l'élément d'interface utilisateur qui définit le menu.

Utilisez plutil et la ligne de commande pour rendre une NIB compilée modifiable, ou des astuces sont en ligne sur la copie de la NIB compilée dans une application qui utilise une NIB non compilée, puis en utilisant Interface Builder.app.


la source