8 votes

Changer la police de caractères du terminal par programme sans redémarrage

À la maison, j'ai un grand écran qui n'a malheureusement pas la même résolution que mon macbook retina.

J'aimerais utiliser une police pixellisée sur l'écran basse résolution et une police lisse sur l'écran rétina. Pour ce faire, j'ai mis en place un script qui écoute un événement lorsque l'écran est connecté.

J'ai configuré deux profils dans Terminal.app, l'un pour l'écran basse résolution et l'autre pour l'écran rétina.

Existe-t-il un moyen de faire d'un profil le profil "par défaut" (par exemple en utilisant applescript) sans redémarrer Terminal.app (sinon, il faut le faire) ? defaults com.apple.terminal ... l'aurait fait)

Le script suivant fonctionne en modifiant le profil par défaut actuel (ce n'est donc pas tout à fait ce dont j'ai besoin, mais cela pourrait fonctionner si je trouve les noms de tous les paramètres que je veux modifier) :

#!/usr/bin/env osascript -l JavaScript
function run (argv) {
  var terminal = Application('Terminal');

  terminal.defaultSettings.fontName = 'creep';
  terminal.defaultSettings.fontSize = 16;

  // these don't seem to work
  // because I do not know their names, and it's hard to debug guessing them
  // terminal.defaultSettings.fontAntialiasing = false;
  // terminal.defaultSettings.fontHeigthSpacing = 0.8;
}

Je devrais écrire un script pour revenir sur les changements.

5voto

Robert Mearns Points 5127

D'accord, après quelques essais dans l'éditeur AppleScript (qui a ce joli truc appelé dictionnaire qui vous montre toutes les commandes disponibles pour une application donnée), j'ai opté pour ce script :

#!/usr/bin/env osascript
on run {name}
  tell application "Terminal"
    set default settings to settings set name
    set current settings of tabs of windows to settings set name
  end tell
end run

Le rendre exécutable ( chmod u+x change.applescript ) et l'exécuter, en indiquant le nom du profil à activer :

./change.applescript creep

Il s'agit de :

  • modifier le profil par défaut, de sorte que tous les nouveaux Windows l'utilisent
  • changer le profil de tous les onglets de toutes les fenêtres pour le nouveau profil, afin que les terminaux ouverts puissent l'utiliser aussi !

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