From 8a9a6de98c023a16c29500ad298206c3bfda9e53 Mon Sep 17 00:00:00 2001 From: Ralph Mayola Date: Sat, 13 Jun 2026 01:03:09 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20demande=20d'accessibilit=C3=A9=20native?= =?UTF-8?q?=20au=20premier=20lancement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AXIsProcessTrustedWithOptions(prompt) : macOS affiche sa popup officielle et crée l'entrée TCC correctement (l'ajout manuel via « + » ne prenait pas). Diag de l'état de confiance dans le log. Co-Authored-By: Claude Fable 5 --- app.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app.py b/app.py index 90e96bd..cdaa832 100644 --- a/app.py +++ b/app.py @@ -128,6 +128,15 @@ class ZonzaApp(NSObject): def main(): validate_config(CONFIG) + # si l'Accessibilité n'est pas accordée, macOS affiche sa popup officielle + # (« Zonza souhaite contrôler cet ordinateur ») et ajoute l'app à la liste — + # bien plus fiable qu'un ajout manuel via « + » dans les Réglages. + from ApplicationServices import ( + AXIsProcessTrustedWithOptions, + kAXTrustedCheckOptionPrompt, + ) + trusted = AXIsProcessTrustedWithOptions({kAXTrustedCheckOptionPrompt: True}) + print(f"[diag] accessibilité accordée : {bool(trusted)}") app = NSApplication.sharedApplication() delegate = ZonzaApp.alloc().init() delegate.setup()