Aller au contenu
Tous les outils

list_windows

Écran, fenêtres et interface · macOS · Windows

Effet: lecture. État: disponibilité conditionnelle.

«Disponibilité conditionnelle» signifie que l’outil peut dépendre de la version, de la plateforme, des autorisations, du compte ou de la configuration. Il n’est pas forcément actif partout.

macOS

Objectif

Liste les fenêtres à l'écran de n'importe quelle app avec window_id, identifiant de bundle et nom de l'app propriétaire, titre, limites (espace global, en haut à gauche, en points), display_id (le CGDirectDisplayID : correspond à list_displays, ce qui permet de retrouver sur quel écran se trouve une fenêtre), layer (0 = fenêtre d'app normale ; non nul = panneau/superposition/menu) et is_focused. Les TITRES des fenêtres exigent l'autorisation d'enregistrement de l'écran ; sans elle, l'outil renvoie une erreur explicite permission_required plutôt qu'un résultat sans titres. Filtre app_bundle_id facultatif : notez que les apps de type Electron possèdent souvent leurs fenêtres depuis un processus HELPER avec un autre identifiant de bundle, si bien qu'un filtre peut revenir vide alors que l'app est bien à l'écran. on_screen_only VAUT TRUE PAR DÉFAUT et exclut les fenêtres réduites, masquées et d'autres Spaces ; passez false pour les voir. include_overlays VAUT FALSE PAR DÉFAUT et exclut les fenêtres de couche non nulle (Centre de notifications, widgets, menus) ; passez true pour les inclure ; utilisez layer dans le résultat pour les distinguer des fenêtres normales. include_minimized_state VAUT FALSE PAR DÉFAUT (une recherche Accessibilité supplémentaire par app, donc facultative) ; passez true pour ajouter `minimized` (true/false) à chaque fenêtre ET, lorsque on_screen_only vaut true (la valeur par défaut), ramener aussi les fenêtres réduites que ce filtre écarterait autrement ; SANS Accessibilité accordée, `minimized` vaut `null` (inconnu) et aucune fenêtre réduite n'est rajoutée, jamais un false supposé, de sorte que vous pouvez trouver ou capturer une fenêtre réduite sans l'amener d'abord au premier plan. Lorsque le résultat est vide, cet outil renvoie un `note` expliquant quel filtre l'a vidé et quoi passer à la place ; lisez-le plutôt que de conclure que l'app n'a pas de fenêtres. window_id est stable au sein de la session pour un ciblage ultérieur.

Entrées requises

Le schéma de cette plateforme ne déclare aucune entrée requise. Des sélecteurs facultatifs ou des conditions d’exécution peuvent néanmoins exister.

Autorisations et confirmation

Le schéma ne déclare aucun paramètre de confirmation explicite. Cela n’autorise aucune action sans permission : vérifiez l’effet et obtenez une autorisation.

Schéma technique canonique en anglais — macOS
{
  "properties": {
    "app_bundle_id": {
      "description": "Only return windows owned by this app bundle id.",
      "type": "string"
    },
    "include_minimized_state": {
      "description": "Add `minimized` (true/false) to each window via an Accessibility lookup; null without Accessibility granted (default false).",
      "type": "boolean"
    },
    "include_overlays": {
      "description": "Include non-zero-layer windows — Notification Center, desktop widgets, menus (default false).",
      "type": "boolean"
    },
    "on_screen_only": {
      "description": "Only on-screen windows (default true).",
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}

Exemple documentaire

Exemple de documentation pour list_windows. N’exécutez pas cet exemple. Les arguments présentés appartiennent à un jeu de données fictif ; résolvez les identifiants réels et obtenez une autorisation avant tout appel réel.

{}

Windows

Objectif

Liste les fenêtres ouvertes sur cette machine : id de fenêtre, app propriétaire (nom de l'exe), pid, titre, limites {x,y,w,h} et id d'écran. Windows uniquement (utilise l'API de fenêtrage Win32). Filtrez par app avec app_bundle_id (une correspondance de sous-chaîne du nom de l'exe sous Windows). on_screen_only VAUT TRUE PAR DÉFAUT et exclut les fenêtres réduites et sans titre (reflète list_windows de mac-swift, #3634) ; passez false pour les voir. include_minimized_state VAUT FALSE PAR DÉFAUT ; passez true pour ajouter `minimized` (true/false) à chaque fenêtre ET, lorsque on_screen_only vaut true (la valeur par défaut), conserver aussi les fenêtres réduites que ce filtre écarterait autrement (parité #3663 avec mac-swift) ; contrairement à la recherche Accessibilité du Mac, IsIconic n'a besoin d'aucune autorisation sous Windows, donc `minimized` se résout toujours et n'est jamais null/inconnu ici.

Entrées requises

Le schéma de cette plateforme ne déclare aucune entrée requise. Des sélecteurs facultatifs ou des conditions d’exécution peuvent néanmoins exister.

Autorisations et confirmation

Le schéma ne déclare aucun paramètre de confirmation explicite. Cela n’autorise aucune action sans permission : vérifiez l’effet et obtenez une autorisation.

Schéma technique canonique en anglais — Windows
{
  "properties": {
    "app_bundle_id": {
      "description": "Filter to windows owned by this app. On Windows, a case-insensitive substring of the exe name (e.g. 'chrome').",
      "type": "string"
    },
    "include_minimized_state": {
      "description": "Add `minimized` (true/false) to each window, and keep minimized windows under on_screen_only:true instead of dropping them (default false).",
      "type": "boolean"
    },
    "on_screen_only": {
      "description": "Only return visible, non-minimized, non-empty-title windows (default true).",
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}

Exemple documentaire

Exemple de documentation pour list_windows. N’exécutez pas cet exemple. Les arguments présentés appartiennent à un jeu de données fictif ; résolvez les identifiants réels et obtenez une autorisation avant tout appel réel.

{}