Có cách nào để huy hiệu xuất hiện trên biểu tượng Terminal trong Dock khi lệnh hoàn thành không?


11

Tôi hiện có một ứng dụng AppleScript mở cửa sổ Terminal và hoàn thành các lệnh. Tôi muốn một huy hiệu biểu tượng ứng dụng xuất hiện trên biểu tượng Terminal trong Dock khi lệnh hoàn thành. Tôi cần điều này bởi vì tôi thường phải khởi động lại các lệnh khi chúng dừng lại. Điều này có thể không? Về cơ bản, ứng dụng AppleScript của tôi lấy một biến do người dùng cung cấp và cắm nó vào lệnh Terminal. Mỗi lần tôi sử dụng ứng dụng, nó sẽ mở một cửa sổ Terminal mới (dự định). Tôi muốn có một huy hiệu xuất hiện khi lệnh Terminal hoàn thành.


Bạn có yêu cầu một huy hiệu, hoặc bạn sẽ hài lòng với saylệnh cảnh báo bằng lời nói cho bạn, tiếng bíp, thông báo gầm gừ, Terminal thay đổi màu sắc, hoặc một cái gì khác?

Bất cứ cách nào để tôi nói rằng một lệnh đã hoàn thành. Các cửa sổ Terminal luôn ở phía sau tất cả các cửa sổ khác của tôi, vì vậy thật khó chịu khi phải kiểm tra. Tôi muốn một thông báo ở lại cho đến khi tôi làm một cái gì đó mặc dù. Vì vậy, một thông báo bằng lời nói có thể sẽ không hoạt động nếu tôi thức dậy và không có mặt. Đúng?
Eli Greenberg

Thực hiện các giải pháp bên dưới (có thể sẽ dựa trên Growl) và thêm một dòng AppleScript để đưa cửa sổ hiện tại lên nền trước. Thật không may, tất cả các Thiết bị đầu cuối sẽ di chuyển ra phía trước (tôi nghĩ), nhưng cửa sổ kích hoạt sự kiện sẽ ở trước mặt tất cả những người đó.

Lưu ý rằng iTerm2 có triggersthể thiết lập điều này rất dễ dàng và thanh lịch: iterm2.com/triggers.html

Câu trả lời:


14

Kể từ Mac OS X 10.7 Lion, Terminal có chính xác tính năng này.

Nếu bạn phát ra tiếng chuông (BEL, Control-G) trong tab nền hoặc cửa sổ, biểu tượng Dock của ứng dụng Terminal sẽ hiển thị một huy hiệu với số chuông Chuông chưa đọc

Huy hiệu chỉ báo chuông trong biểu tượng Dock ứng dụng

và một biểu tượng chuông được hiển thị trong tab của thiết bị đầu cuối

Chỉ báo chuông trong tab thiết bị đầu cuối nền

(Nếu chỉ có một tab trong cửa sổ, chọn Xem> Hiển thị Thanh tab để xem tab, cũng hiển thị thông tin trạng thái khác.)

Điều này cũng áp dụng cho các cửa sổ thu nhỏ.

Khi bạn đưa cửa sổ ra phía trước hoặc chọn tab nền, chỉ báo chuông sẽ bị xóa khỏi tab và số lượng huy hiệu sẽ giảm.


Tất nhiên đây chỉ là Lion, haha.
Eli Greenberg

3

Nếu bạn sẵn sàng chấp nhận câu trả lời cho câu hỏi chung chung hơn "có cách nào để tôi cảnh báo khi có gì đó hoàn thành trong cửa sổ Terminal" không thì câu trả lời là: có.

Nếu bạn đang chạy Growl, bạn có thể thực hiện cuộc gọi dòng lệnh từ một tập lệnh sẽ đăng thông báo lên Growl. Ví dụ:

do shell script "sleep 1h"
do shell script "growlnotify --sticky --message \"I'm all done sleeping for an hour! Did you forget about me?\" --wait"

Tập lệnh sẽ không thoát cho đến khi bạn xóa thông báo khỏi màn hình.

Bạn thậm chí có thể sử dụng --nametùy chọn để đặt cho tập lệnh của mình một tên duy nhất và sau đó từ bên trong Growl tùy chỉnh cách các sự kiện được tạo bởi ứng dụng có tên đó được hiển thị và xử lý. Họ có thể tạo các loại cửa sổ bật lên khác nhau trên màn hình, họ có thể gửi email cho bạn, họ có thể gửi tin nhắn cho bạn qua iChat, họ chuyển tiếp sự kiện tới Growl trên một máy khác, nếu bạn đang chạy Prowl trên iDevice của bạn, họ thậm chí có thể chuyển tiếp thông báo về iDevice của bạn thông qua các thông báo đẩy.

Không hoàn toàn là câu trả lời bạn đang tìm kiếm, nhưng hy vọng nó đáp ứng nhu cầu của bạn.

GrowlNotify trong hành động


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.