J'aime vraiment que iTunes (Yosemite, iTunes 12) affiche des notifications du système d'exploitation lorsque une nouvelle chanson est diffusée. Mais lorsque j'utilise iTunes en mode mini lecteur, je n'ai pas besoin de ces notifications. Est-il possible de configurer iTunes pour afficher uniquement les notifications du système d'exploitation lorsque l'application est en mode fenêtre principale ?
Réponse
Trop de publicités?Vous pouvez l'activer et le désactiver manuellement dans les préférences du système de notifications.
Mise à jour de cette réponse :
Cela fonctionne assez bien sur mon Mac. Mais ce n'est pas localisé et c'est vraiment un script rapide mis en place comme preuve de concept.. ( c'est la clause de non-responsabilité )
L'idée est de placer ce script dans le menu AppleScript et de l'exécuter lorsque vous voulez basculer le lecteur iTunes du principal au lecteur mini.
Le script fera la bascule pour vous, vérifiera quelle fenêtre est active, puis ouvrira les préférences du système pour essayer de trouver les notifications iTunes et passer soit à "Aucun" soit à "Bannières" en fonction. J'ai complètement ignoré les "Alertes" dans cela parce que je suis sûr que la plupart des gens ne les auraient pas sélectionnées !.
propriété delayTimeMax : 2
propriété windowTitle : ""
définir windowTitle à ""
propriété delayCounter : 0
définir delayCounter à 0
propriété theList : ""
dire à l'application "Événements système"
dire à l'application "iTunes" d'activer
retard 1
keystroke "m" en utilisant {command down, shift down} --//Basculer la fenêtre iTunes
my windowTheTitle() --//-- essayer d'obtenir le titre de la fenêtre
end tell
dire à l'application "Événements système"
si delayCounter > delayTimeMax alors retourner --//-- trop d'essais, arrêtons
définir delayCounter à 0
my openSystemEvents() --//-- essayer d'ouvrir la fenêtre des préférences système
si delayCounter > delayTimeMax alors retourner --//-- trop d'essais, arrêtons
définir delayCounter à 0
dire à l'application du processus "Préférences système"
définir cet_élément à ""
my findTable() --//-- essayer de trouver la liste d'applications dans la fenêtre des préférences système
si delayCounter > delayTimeMax alors retourner --//-- trop d'essais, arrêtons
définir delayCounter à 0
définir compteur à 0 --// le compteur va s'incrémenter pour chaque ligne représentant une application
--// trouver le bon en utilisant son texte statique qui sera le nom de l'application
répéter avec i de 1 à nombre d'éléments dans theList
définir cet_élément à élément i de theList
définir compteur à compteur + 1
essayer
définir laValeur à valeur du texte statique de cet_élément
fin essayer
si élément 1 de laValeur est égal à "iTunes" alors
quitter répéter --// trouvé, quitter la répétition
fin si
fin répéter
sélectionner ligne compteur de tableau 1 de zone de défilement 1 de fenêtre "Notifications" --// sélectionner l'application dans le tableau
définir leGroupeRadio à groupe radio 1 de groupe 1 de fenêtre "Notifications" --// les boutons radio pour le type de notification
si windowTitle est "MiniPlayer" alors
--// le mini lecteur est actif
définir theVal à valeur du bouton radio "Aucun" de groupe radio 1 de groupe 1 de fenêtre "Notifications"
--// nous ne voulons pas cliquer sur le bouton s'il est déjà sélectionné. Ce qui peut désélectionner ou non tous. (peut-être un bug)
si theVal est 0 alors
--//sélectionner aucune alerte
cliquer sur le bouton radio "Aucun" de groupe radio 1 de groupe 1 de fenêtre "Notifications"
fin si
sinon
--// la fenêtre PRINCIPALE est active
définir theVal à valeur du bouton radio "Bannières" de groupe radio 1 de groupe 1 de fenêtre "Notifications"
si theVal est 0 alors
--// nous ne voulons pas cliquer sur le bouton s'il est déjà sélectionné. Ce qui peut désélectionner ou non tous. (peut-être un bug)
cliquer sur le bouton radio "Bannières" de groupe radio 1 de groupe 1 de fenêtre "Notifications"
fin si
fin si
end tell
end tell
dire à l'application "Préférences système" de quitter
on windowTheTitle()
dire à l'application "Événements système"
essayer
dire à l'application du processus "iTunes" de définir windowTitle à obtenir le titre de la fenêtre 1 --//Obtenir le titre de la fenêtre : iTunes ou MiniPlayer
en cas d'erreur
définir delayCounter à delayCounter + 1
si delayCounter > delayTimeMax alors retourner --//-- trop d'essais, arrêtons
retard 1
my windowTheTitle()
fin essayer
end tell
end windowTheTitle
on openSystemEvents()
dire à l'application "Événements système"
essayer
dire à l'application "Préférences système"
activer
retard 1
définir le panneau actuel à identifiant du panneau "com.apple.preference.notifications" --// Ouvrir Événements système dans les préférences de notifications
si l'identifiant du panneau actuel n'est pas "com.apple.preference.notifications" alors
définir delayCounter à delayCounter + 1
si delayCounter > delayTimeMax alors retourner --//-- trop d'essais, arrêtons
retard 1
my openSystemEvents()
fin si
end tell
en cas d'erreur
définir delayCounter à delayCounter + 1
si delayCounter > delayTimeMax alors retourner --//-- trop d'essais, arrêtons
retard 1
my openSystemEvents()
fin essayer
end tell
end openSystemEvents
on findTable()
dire à l'application "Événements système"
essayer
dire à l'application du processus "Préférences système"
définir theList à (obtenir groupe 1 de élément d'interface utilisateur 1 de chaque ligne de tableau 1 de zone de défilement 1 de fenêtre "Notifications") -- obtenir tous les groupes radio : l'icône et le texte du groupe d'applications dans le tableau
end tell
en cas d'erreur
définir delayCounter à delayCounter + 1
si delayCounter > delayTimeMax alors retourner --//-- trop d'essais, arrêtons
retard 1
my findTable()
fin essayer
end tell
end findTable
Comme je l'ai dit, preuve de concept. Vous pouvez probablement le mettre dans un service Automator et l'utiliser avec une touche de raccourci.
Notez également : selon votre système, vous devrez peut-être ajouter des délais supplémentaires pour attendre que l'interface utilisateur rattrape son retard
Mise à jour 2
En fait, cela fonctionne mieux en tant que service Automator avec une touche de raccourci.
Dans Automator, utilisez une action Exécuter un script Apple et remplacez son code modèle par celui ci-dessus..
Définissez l'entrée sur non et N'importe quelle application. Enregistrez-le.
Ouvrez les préférences du raccourci. Trouvez votre service dans les Services et ajoutez un raccourci.
c'est fait.