当我在观看电影时,Herald 会给我发送咆哮通知或邮件通知,这很烦人。我认为解决这个问题的一种方法是将 VLC 的“z-index”设置为高于 Growl 和 Herald 的通知框。或者我可以添加钩子让 VLC 全屏/窗口化,这样它就会在那个时候禁用 Growl 和 Herald。有什么建议吗?
如果有人感兴趣的话,我前段时间写了一个小应用程序,并决定邮政在此处将其关闭。它是任何播放器的包装器(默认为 VLC,通过将播放器放在应用程序上来完成播放器的设置)。当您用它打开电影时,它会退出GrowlHelperApp
(HeraldAgent
请注意,将无法Mail.app
使用鼠标进行交互,并且当播放器退出时,两个代理都将重新启动)。此外,如果按下打开电影fn
,音量和亮度将变为 85%(当播放器退出时变回原样)。
答案1
打开 AppleScript 编辑器,另存为应用程序,保存时勾选“保持打开”。使用这个新的 applescript 应用程序启动 VLC 应用程序。
描述:它将启动 VLC,关闭咆哮通知,每 2 秒检查一次 VLC 是否已退出,如果已退出,它将重新打开咆哮通知,然后退出。作为额外奖励,它将使用咆哮通知来通知您何时打开或关闭咆哮通知。是的,因为这是很酷的做法。
不熟悉 Herald,但这可以让你入门。只需检查 Herald 的后台进程是什么,并相应地修改脚本……或退出/重新启动“邮件”进程。
global Growl_was_Loaded
global VLC_is_Loaded
on open mediaFiles
launchThis(mediaFiles)
idle
end open
on run
launchThis(null)
idle
end run
on idle
set x to isAppLoaded("VLC")
if x and not VLC_is_Loaded then
launchVLC()
else if VLC_is_Loaded and not x then
set VLC_is_Loaded to false
if Growl_was_Loaded then
tell application "GrowlHelperApp" to launch
growl_notify("Growl notifications: ON")
end if
tell me to quit
end if
return 2 -- wait 2 seconds
end idle
on launchThis(mFiles)
set Growl_was_Loaded to isAppLoaded("GrowlHelperApp")
set VLC_is_Loaded to isAppLoaded("VLC")
launchVLC(mFiles)
end launchThis
on launchVLC(mf)
if mf is null then
tell application "VLC" to launch
else
tell application "VLC" to open file mf
end if
if Growl_was_Loaded then
growl_notify("Growl notifications: OFF")
delay 1
tell application "GrowlHelperApp" to quit
end if
set VLC_is_Loaded to true
tell application "VLC" to activate
end launchVLC
on isAppLoaded(app_name)
tell application "System Events"
set app_list to every application process whose name is app_name
if the (count of app_list) > 0 then
set x to true
else
set x to false
end if
end tell
return x
end isAppLoaded
on growl_notify(msg)
tell application "GrowlHelperApp"
set the allNotificationsList to {"Growl Toggler"}
register as application "Growl Toggler" all notifications allNotificationsList default notifications allNotificationsList
notify with name "Growl Toggler" title msg description "" application name "Growl Toggler" icon of application "Automator"
end tell
end growl_notify
答案2
通过脚本运行 VLC,该脚本会终止 Growl、Hardware Growler 和 Herald,启动 VLC,并在 VLC 完成后重新启动其他任务。
另一种方法是将其编写为连续运行,测试 VLC 的进程列表,并在启动或退出 VLC 时终止/恢复 Growl 等。
答案3
这些是视觉通知还是音频通知,或者两者兼有?如果只是视觉通知,您可以在全屏模式下打开选项菜单来隐藏它们(对于 OSX,右键单击的等效项是什么)。然后将鼠标悬停在视频上并选择“始终在最上面”选项。