Maîtrisez l'automatisation sous macOS avec Hammerspoon

Maîtrisez l'automatisation sous macOS avec Hammerspoon : Votre porte d'entrée vers un flux de travail plus intelligent

Hammerspoon est un outil d'automatisation de bureau révolutionnaire pour macOS qui fait le lien entre les API de niveau système et un moteur de script Lua flexible. Cela vous permet d'exercer un contrôle puissant sur votre système en écrivant des scripts Lua personnalisés. Que vous cherchiez à simplifier les tâches répétitives, à gérer vos fenêtres avec précision ou à réagir aux événements système, Hammerspoon fournit le cadre pour construire votre flux de travail idéal.

Bien démarrer : Vos premiers pas avec Hammerspoon

Pour commencer votre aventure avec Hammerspoon, téléchargez la dernière version et installez-la dans votre dossier Applications. L'exécution de l'application pour la première fois vous invitera à accorder les accès d'accessibilité nécessaires. Une fois configuré, vous pouvez accéder à la configuration de Hammerspoon en cliquant sur son icône dans la barre de menus et en sélectionnant "Open Config". Pour une documentation API complète, explorez la documentation officielle de Hammerspoon afin de découvrir le vaste éventail d'extensions et de fonctions à votre disposition.

La puissance du scripting Lua

Lua est un langage de programmation léger mais puissant, parfait pour le scripting d'automatisations complexes. Si vous êtes novice en Lua, un tutoriel rapide comme "Learn Lua in Y minutes" est un excellent point de départ.

Fonctionnalités principales et exemples pratiques :

1. Bonjour le monde et Notifications : Commencez par les bases. Hammerspoon vous permet de lier des raccourcis clavier pour déclencher des actions. Un exemple simple consiste à lier une combinaison de touches pour afficher une notification "Bonjour le monde !" utilisant hs.alert.show() ou les notifications natives de macOS via hs.notify.new().

hs.hotkey.bind({"cmd", "alt", "ctrl"}, "W", function()
  hs.alert.show("Bonjour le monde !")
end)

2. Spoons : Plugins préconçus : Améliorez les capacités de Hammerspoon avec les "Spoons" – des plugins préconçus qui étendent ses fonctionnalités. Par exemple, le Spoon 'AClock' peut être installé et utilisé pour basculer son affichage avec un raccourci clavier personnalisé.

hs.loadSpoon("AClock")
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "C", function()
  spoon.AClock:toggleShow()
end)

3. Gestion des fenêtres : Prenez le contrôle de vos fenêtres. Hammerspoon excelle dans la manipulation des cadres de fenêtres. Déplacez les fenêtres avec précision, redimensionnez-les pour occuper la moitié de votre écran ou créez des dispositions complexes de plusieurs fenêtres à l'aide de hs.layout. Vous pouvez même lier des touches pour un déplacement de fenêtre intuitif inspiré de Nethack.

-- Déplacer la fenêtre active 10 pixels vers la gauche
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "H", function()
  local win = hs.window.focusedWindow()
  local f = win:frame()
  f.x = f.x - 10
  win:setFrame(f)
end)

-- Déplacer la fenêtre active vers la moitié gauche de l'écran
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "Gauche", function()
  local win = hs.window.focusedWindow()
  local f = win:frame()
  local screen = win:screen()
  local max = screen:frame()
  f.x = max.x
  f.y = max.y
  f.w = max.w / 2
  f.h = max.h
  win:setFrame(f)
end)

4. Filtres de fenêtres : Contextualisez votre automatisation avec hs.window.filter. Ce module vous permet d'appliquer des règles basées sur l'application, les propriétés de la fenêtre ou même des prédicats personnalisés, permettant un contrôle précis sur le moment où vos scripts s'exécutent. Un cas d'utilisation pratique consiste à nettoyer le presse-papiers lors du collage depuis Safari vers Messages pour éviter une expansion de lien indésirable.

5. Rechargement de la configuration : Rationalisez votre processus de développement en rechargeant automatiquement votre configuration Hammerspoon. Vous pouvez lier un raccourci clavier pour les rechargements manuels (hs.reload()) ou utiliser hs.pathwatcher pour surveiller votre répertoire de configuration des modifications et déclencher des rechargements automatiques.

6. Interaction avec les menus des applications : Automatisez les interactions avec les menus des applications. Hammerspoon peut trouver et sélectionner des éléments de menu, vous permettant de contrôler les fonctionnalités des applications, telles que le passage en revue des chaînes d'agent utilisateur de Safari.

7. Éléments de la barre de menus et événements système : Créez des éléments de barre de menus personnalisés en utilisant hs.menubar pour afficher le statut ou déclencher des actions. Vous pouvez également réagir aux événements système tels que les activations d'applications (hs.application.watcher), les changements de réseau Wi-Fi (hs.wifi.watcher) ou les connexions de périphériques USB (hs.usb.watcher).

8. Automatisation avancée : Les capacités de Hammerspoon s'étendent à la désactivation du blocage de copie, à l'exécution d'AppleScript, au contrôle d'applications multimédias comme iTunes et Spotify, au dessin à l'écran pour un retour visuel, à l'envoi de messages iMessage/SMS, et même à l'automatisation de Hammerspoon lui-même via des URL.

Hammerspoon témoigne de la puissance des logiciels open-source, offrant une flexibilité inégalée aux utilisateurs de Mac pour personnaliser et automatiser leur vie numérique. Plongez, expérimentez avec les exemples et découvrez comment Hammerspoon peut transformer votre expérience informatique quotidienne.

Original Article: Voir l’original

Partager cet article