À propos du projet

awake est un petit utilitaire macOS en ligne de commande permettant de maintenir un Mac éveillé pendant l'exécution d'automatisations GUI. Il utilise une seule invocation de caffeinate avec les options -disu pour bloquer la mise en veille de l'écran, la mise en veille système en cas d'inactivité, la mise en veille sur secteur, et pour affirmer l'activité utilisateur afin que le minuteur d'inactivité de l'économiseur d'écran ne s'accumule pas. Les assertions sont maintenues uniquement pendant la durée demandée puis libérées ; aucun paramètre système n'est modifié. L'outil prend en charge des durées telles que 2h, 90m, 45s, ou des secondes, le fonctionnement en arrière-plan avec -b, le rapport d'état affichant les assertions réellement maintenues et les instances en cours, et awake off pour arrêter toutes les instances. Il suit les instances par ligne de commande plutôt que par pidfile, de sorte que les instances démarrées dans d'autres terminaux restent contrôlables. L'interface suit la langue du Mac, avec l'anglais et le chinois simplifié inclus, et peut être remplacée via AWAKE_LANG. awake inclut une interface terminal avec un indicateur de progression respirant, la prise en charge truecolor et 256 couleurs, la gestion de NO_COLOR, et une sortie en texte simple lorsqu'elle est redirigée. La boucle d'animation est implémentée avec les commandes intégrées de zsh pour éviter les forks de processus à chaque image. Il n'empêche pas les verrouillages manuels, la mise en veille par fermeture du couvercle, et n'effectue aucun changement permanent. L'installation consiste en un simple clone et un lien symbolique dans un répertoire du PATH, nécessitant uniquement zsh et les outils macOS standard.