Можно ли как-то скрыть Growl and Herald, когда VLC работает в полноэкранном режиме?
Это раздражает, когда во время просмотра фильма я получаю уведомления о рычании или почтовые уведомления с Herald. Я подумал, что один из способов решить эту проблему - установить "z-index" VLC выше, чем поля уведомлений Growl и Herald. Или, может быть, я могу добавить хук к VLC, работающему в полноэкранном / оконном режиме, чтобы он отключил Growl и Herald на это время. Любой совет?
Если кому-то интересно, я написал небольшое приложение некоторое время назад и решил опубликовать его здесь. Это обертка вокруг любого плеера (по умолчанию VLC, настройка плеера осуществляется путем добавления плеера в приложение). Когда вы открываете фильм с ним, он выходит GrowlHelperApp
а также HeraldAgent
(обратите внимание, что невозможно будет взаимодействовать с Mail.app
с помощью мыши, и оба агента будут запущены обратно, когда игрок выходит). Кроме того, если фильм открыт с fn
при нажатии громкость и яркость изменяются до 85% (и возвращаются обратно при выходе из игры).
3 ответа
Откройте редактор AppleScript, сохраните как приложение, при сохранении установите флажок "Оставаться открытым". Используйте это новое приложение applecript для запуска приложения VLC.
Описание: он запустит VLC, отключит уведомления рычания, проверит каждые 2 секунды, чтобы увидеть, завершился ли VLC, если это так, он снова включит уведомления рычания и затем завершит работу. В качестве бонуса, он будет использовать рычание уведомлений, чтобы уведомить вас, когда уведомления рычания будут включены или выключены. Да, потому что это классный способ сделать это.
Не знаком с Herald, но это даст вам старт. Просто проверьте, что представляет собой фоновый процесс Herald, и измените скрипт соответствующим образом... или выйдите / перезапустите процесс "Mail".
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
Запустите VLC из сценария, который убивает Growl, Hardware Growler и Herald, запускает VLC и перезапускает другие задачи после завершения VLC.
Другой способ - написать его так, чтобы он работал непрерывно, проверяя список процессов для VLC, убивая / возобновляя Growl и т. Д., Когда VLC запускается или выходит.
Это визуальные уведомления или аудио уведомления, или оба? Если это просто визуально, вы можете скрыть их, открыв меню параметров в полноэкранном режиме (какой бы ни был щелчок правой кнопкой мыши для OSX). Затем наведите курсор мыши на видео и выберите опцию "Всегда сверху".