Applescript zur Wiederherstellung der Vordergrundfarbe funktioniert nicht

384
aholub

Wenn ich versuche, die Standardfarbe eines MacOS-Terminalfensters wiederherzustellen, indem Sie Folgendes ausführen:

osascript -e "tell application \"Terminal\" to set current settings of window 1 to settings set \"Homebrew\"" 

Die Hintergrundfarbe des Terminals wird im Homebrew-Standard wiederhergestellt, nicht jedoch die Vordergrundfarbe. Das explizit zu tun hat auch keine Wirkung:

osascript -e 'tell application "Terminal" to set normal text color of window 1 to ' 

Seltsamerweise werden die Farben im korrekten Zustand wiederhergestellt, wenn ich ein ls ausführen (LSCOLORS sind aktiviert). Irgendeine Idee, was los sein könnte oder wie man es reparieren könnte?

Außerdem enthält der PS-String nichts, um die Farbe als Teil der Aufforderung zu ändern. Wenn Sie ein paar Mal auf return klicken, hat dies keine Auswirkungen. Auch das Ausführen eines harmlosen Effekts wie Echo . Vielen Dank!

0

1 Antwort auf die Frage

0
CJK

Das ist interessant, weil ich Ihren Fehler nicht reproduzieren kann. Welches System laufen Sie? Hier finden Sie meine relevanten Systemdetails:

System info: AppleScript-Version : "2.7", Systemversion : "10.13.6" (High Sierra)

Eine Sache zu beachten, ist, dass current settingsund normal text colorsind Eigenschaften, die zugeschrieben werden, tabsdie Klemme, und nicht windows. Daher können Sie Folgendes versuchen:

osascript -e "tell application \"Terminal\" to ¬ set current settings of tab 1 of window 1 to ¬ settings set \"Homebrew\"" 

Wenn ich ehrlich bin, erwarte ich nicht, dass dies Ihr Problem löst, da Ihr Code auf meinem System einwandfrei funktioniert.

Wie erwartet, funktionierte nicht :-) (Es ist auch AS 2.7 am 10.13.6) Ich habe die Dinge ein bisschen aufgespürt. Die Farbänderung erfolgt in einer Funktion, die Farben, sshs in ein Remote-System ändert, und wenn ssh beendet wird, werden die Farben wiederhergestellt. Die Shell des Remote-Systems verwirrt die Farben in der PS2-Variablen (weshalb ich sie zurücklegen möchte). Ich habe festgestellt, dass die Dinge korrekt funktionieren, wenn ich die Farbänderungen aus dem Remote-System PS2 entferne. Es scheint also eine seltsame Interaktion mit ssh zu sein. aholub vor 5 Jahren 0