命令完成后,有什么办法可以在Dock的终端图标上显示徽章?


11

我目前有一个AppleScript应用程序,可以打开终端窗口并完成命令。我希望当命令完成时,应用程序图标徽章会显示在Dock的终端图标上。我需要这样做,因为我常常不得不在命令停止时重新启动它们。这可能吗?本质上,我的AppleScript应用程序采用用户提供的变量,并将其插入“终端”命令中。每次我使用该应用程序时,它将打开一个新的“终端”窗口(预定)。我想在终端命令完成时出现一个徽章。


您是否需要徽章,还是对say命令以语言方式警告您,发出哔哔声,咆哮声通知,终端更改颜色或其他方式感到满意?

以任何方式告诉我命令已完成。终端窗口始终位于我所有其他窗口的后面,因此必须继续检查很烦人。我希望在我执行某些操作之前一直保持通知状态。因此,如果我起身不在身边,口头通知可能不会起作用。对?
伊莱·格林伯格

采取以下解决方案(可能将基于Growl),并添加AppleScript行以将当前窗口置于前台。不幸的是,所有终端都将移到最前面(我认为),但是触发事件的窗口将位于所有这些窗口的前面。

请注意,iTerm2具有triggers以下设置功能:iterm2.com/triggers.html

Answers:


14

从Mac OS X 10.7 Lion开始,终端完全具有此功能。

如果您在背景标签或窗口中发出铃铛(BEL,Control-G),则终端应用程序的Dock图标将显示带有“未读”铃铛数量的徽章

终端应用程序Dock图标中的铃声指示器徽章

终端的标签中会显示一个响铃图标

后台终端选项卡中的响铃指示器

(如果窗口中只有一个选项卡,请选择“ 视图”>“显示选项卡栏”以查看该选项卡,该选项卡还显示其他状态信息。)

这也适用于最小化的窗口。

当您将窗口置于最前面或选择背景选项卡时,铃声指示器将从选项卡中移除,并且徽章计数会下降。


当然这只是狮子,哈哈。
伊莱·格林伯格

3

如果您愿意接受一个更普遍的问题的答案,“是否有一种方法可以在终端窗口中完成某些操作时提醒我”,那么答案是:是的。

如果您正在运行Growl,则可以从脚本发出命令行调用,该脚本会将通知发布到Growl。例如:

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"

在从屏幕上清除通知之前,脚本不会退出。

您甚至可以使用该--name选项为脚本指定一个唯一的名称,然后在Growl内部自定义显示和处理该命名应用程序生成的事件的方式。他们可以在屏幕上产生不同类型的弹出窗口,可以给您发送电子邮件,可以通过iChat向您发送消息,将事件转发到另一台计算机上的Growl,如果您在iDevice上运行Prowl,他们甚至可以转发通过推送通知将通知发送到您的iDevice。

并不是您一直在寻找的答案,但是希望它能够满足您的需求。

低吼通知行动


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.