Zu Hause habe ich ein schönes großes Display, das leider nicht die gleiche Auflösung hat wie mein Retina-Macbook.
Ich möchte eine Pixelschrift auf dem Bildschirm mit niedriger Auflösung und eine schöne glatte auf dem Retina-Bildschirm verwenden. Dazu habe ich ein Skript eingerichtet, das auf ein Ereignis lauscht, wenn das Display verbunden ist.
Ich habe zwei Profile in Terminal.app eingerichtet, eines für den Bildschirm mit niedriger Auflösung und eines für den Retina-Bildschirm.
Gibt es eine Möglichkeit, ein Profil zum "Standard" -Profil zu machen (z. B. mit Applescript), ohne Terminal.app neu zu starten (sonst defaults com.apple.terminal ...
hätte es getan)
Das folgende Skript funktioniert, indem es das aktuelle Standardprofil ändert (es ist also nicht ganz das, was ich brauche, aber es könnte funktionieren, wenn ich die Namen aller Einstellungen finde, die ich ändern möchte):
#!/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;
}
Ich müsste ein Skript schreiben, um die Änderungen rückgängig zu machen
Okay, nach einigem Herumalbern im AppleScript-Editor (er hat dieses nette Ding namens Wörterbuch , das Ihnen alle verfügbaren Befehle für eine bestimmte App zeigt) habe ich mich für dieses Skript entschieden:
#!/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
Machen Sie es ausführbar ( chmod u+x change.applescript
) und führen Sie es aus, indem Sie den Namen des zu aktivierenden Profils übergeben:
./change.applescript creep
Dieser Wille:
Phobox
Romeovs
IOUSBDevice
. Alternativ können Sie einfach ein Skript ausführen, das etwa alle 2 Sekunden überprüft, ob das Display verbunden ist (z. B. mitioreg -p IODisplayConnect
).