从Mac OS终端使屏幕闪烁

3
我使用不同的构建脚本来打包我的应用程序。其中一些需要运行一段时间,因此最好有一个视觉通知告知脚本已经准备好。
我已经使用带有AppleScript的通知中心,但有时它的提醒不够明显。是否有可能运行一个AppleScript或命令行命令来让屏幕闪烁。另外,在构建成功时闪烁绿色,在构建失败时闪烁红色会更好。

欢迎来到stackoverflow。这是一个网站,用户在编写代码时遇到障碍并需要帮助解决问题时可以得到帮助的地方。因此,我们期望您展示您正在编写的代码,而不是寻找别人为您编写代码。请向我们展示您在代码中遇到的困难,我们将非常乐意提供帮助。 - mcgrailm
@mcgrailm 问一下,贴错代码和寻求想法之间实际上有什么区别?我并没有要求别人为我编写代码,只是询问函数名称或其他想法,事实上我已经做了很多研究,但找不到解决方法。 - Tobias Redmann
区别在于你的帖子中没有显示出你试图解决自己的问题的迹象。你只是问是否可能......然后你又要求一个额外的项目;再次表现出没有努力去想办法解决它。这就像你只是在请求别人替你完成工作一样。 - mcgrailm
3个回答

6
我是一位有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:

我有几个想法...

最简单的方法:

进入终端->首选项->高级,切换到 Visual Bell,然后执行以下操作:

tput bel

最酷的:

这是我写的一个小脚本,用于保存当前桌面背景并将其设置为绿色,持续3秒钟,然后将其恢复到原来的状态。当然,如果你喜欢,你可以很容易地让它变成红色以表示失败。你只需要在 /Library/Desktop Pictures 文件夹中保存下面的 red.jpg 和 green.jpg 文件,并将它们分别命名为 red.jpg 和 green.jpg。然后将下面的脚本保存为 notify 并使用以下命令使其可执行:

chmod +x notify

并且运行它

./notify

这是脚本内容:
#!/bin/bash

# Function to save current wallpaper
saveWallpaper(){
osascript<<EOF
tell application "Finder"
    set theDesktopPic to desktop picture
    set theName to displayed name of theDesktopPic
    return theName
end tell
EOF
}

# Function to set the wallpaper
setWallpaper(){
echo $1
osascript<<EOF
set desktopImage to POSIX file "/Library/Desktop Pictures/$1"
tell application "Finder"
    set desktop picture to desktopImage
end tell
EOF
}

# Start of actual script

# Save current wallpaper
saved=$(saveWallpaper)
echo Wallpaper is: $saved

# Set wallpaper to green for 3 seconds
setWallpaper "green.jpg"
sleep 3

# Restore wallpaper
setWallpaper "$saved"

使用一些声音:

为了成功:

osascript -e 'beep 1'

对于失败的情况:

osascript -e 'beep 3'

或者,您可以考虑:
afplay /System/Library/Sounds/Ping.aiff -v 2

enter image description here enter image description here


1
这将使终端屏幕闪烁:
tput flash

您可以像这样闪烁其他终端:

tput flash >/dev/ttys002

1

试试这个:

say finish

或者

say there is a problem

1
这并没有回答问题!他正在寻求视觉效果,而不是音频效果! - user3439894
是的,你说得对,为什么不打开一个大的“红色图像”文件呢? - user65190

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接