Tùy thuộc vào chính xác những gì bạn muốn thực hiện, đây là một vài ý tưởng trong AppleScript bằng cách sử dụng kiểu Terminal của bạn. Đây là mạnh mẽ hơn tput
, bởi vì điều này được thiết lập lại bởi lời nhắc màu. vv (ít nhất là đối với tôi).
Điều này đặt tất cả các tab chạy Python (không có máy chủ SSH có sẵn để thử nghiệm ngay bây giờ) thành Homebrew, các tab khác cho Ocean:
tell application "Terminal"
repeat with w from 1 to count windows
repeat with t from 1 to count tabs of window w
if processes of tab t of window w contains "Python" then
set current settings of tab t of window w to (first settings set whose name is "Homebrew")
else
set current settings of tab t of window w to (first settings set whose name is "Ocean")
end if
end repeat
end repeat
end tell
lưu dưới dạng tập lệnh và chạy như osascript Name.scpt
bất cứ lúc nào bạn muốn tô màu lại các shell của mình (tất nhiên bạn có thể gói nó thành tập lệnh shell hoặc một cái gì đó).
Nếu bạn muốn hiển thị tất cả các quy trình chạy dài khác nhau, hãy sử dụng điều kiện sau:
if busy of tab t of window w is true then
Hoặc, bạn có thể đặt kiểu của một tab, được chọn thủ công:
on run argv
tell application "Terminal" to set current settings of tab (item 1 of argv as number) of front window to first settings set whose name is (item 2 of argv)
end run
Chạy nó như thế này:
osascript StyleTerm.scpt 3 Homebrew
-> Tab thứ ba của cửa sổ Terminal trên cùng có kiểu Homebrew!
Nếu bạn muốn sửa đổi các cửa sổ nền, hãy thay thế "cửa sổ phía trước" bằng một biểu thức được ngoặc đơn giống như sau "tab". Nếu bạn luôn muốn sửa đổi "tab hiện tại" đã chọn, hãy sử dụng selected tab
thay vì tab (item 1 of argv as number)
.
Thêm các mục sau vào .bash_profile
nếu giải pháp đầu tiên quá sức lao động cho bạn:
PROMPT_COMMAND='osascript "/path/to/Name.scpt"'
Bây giờ nó được thực thi trước mỗi dấu nhắc (chỉ có vấn đề: không phải sau khi bắt đầu một cái gì đó, tức là ssh
. Nhưng chủ đề này không phải là về các thủ thuật bash ưa thích nào. Đây chỉ là một con trỏ.)
Terminal -> Preferences -> Settings
ngoại trừ tôi muốn làm điều này bằng một lệnh. Tôi muốn tạo một kịch bản sẽ như thế này :changeBackgroundTheme; ssh; changeBackgroundTheme
. Điều này sẽ giúp nhắc nhở tôi những cửa sổ hiện đang ởssh
.