AutoHotkey (AHK_X11) - Le Bottin des Jeux Linux

AutoHotkey (AHK_X11)

🗃️ Specifications

📰 Title: AutoHotkey (AHK_X11) 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Tool 🚦 Status: 05. Tested & Working (status)
🏷️ Category: Tool ➤ Misc. 🌍️ Browser version:
🔖 Tags: Tool; Automation; Multi-platform; Keyboard; Mouse; Controller 📦️ Package Name:
🐣️ Approx. start: 2022-06-19 📦️ Arch package:
🐓️ Latest: 2023-07-06 📦️ RPM package:
📍️ Version: Latest: 0.6.0 / Dev: 07145b1 📦️ Deb package:
🏛️ License type: 🕊️ Libre 📦️ Flatpak package:
🏛️ License: GPL-2 📦️ AppImage package: ✓
🏝️ Perspective: First person (interface) 📦️ Snap package:
👁️ Visual: 2D ⚙️ Generic binary:
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single 📱️ PDA support:
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 5 stars 👫️ Contrib.: goupildb & Louis
🎰️ ID: 16238 🐛️ Created: 2022-08-31
🐜️ Updated: 2023-07-14

📖️ Summary

[en]: A libre and (almost) multi-platform task automation tool. This basic and completely rewritten re-implementation aims to cover 80% of the features of Windows version 1.0.24 (old 2004 specification) (omitting some more recent features), without its Spyware. The operations to be performed are described in a user script (file in ".ahk" format) launched from the file manager, from the command line, by an executable that it is able to compile, or by a keyboard shortcut. [fr]: Un outil libre et (presque) multi-plateforme d'automatisation de tâches. Cette ré-implémentation basique et complètement ré-écrite a pour objectif de couvrir 80% des fonctionnalités de la version 1.0.24 (ancienne spécification de 2004) de Windows (faisant l'impasse sur un certain nombre de fonctionnalités plus récentes), sans ses Spywares. Les opérations à réaliser sont décrites dans un script utilisateur (fichier au format ".ahk") lancé depuis le gestionnaire de fichier, depuis la ligne de commande, par un exécutable qu'il est capable de compiler, ou par un raccourci clavier.

🚦 Entry status

💡 Lights on: ✓ 🦺️ Work in progress:
📰 What's new?: 🪙️ Major upgrade 💥️ New version published (to be updated):
🎨️ Significant improvement: 🚧️ Some work remains to be done:
🕳️ Not used2: 👔️ Already shown:

🎥️ Videos


🕯️ How To: (202204), [fr](201210),


🎮️ Showcase: (202002), (202009), (202202),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) gd(202xxx) gu(202xxx) r(202xxx) lp(202xxx) d(202002) d(202009) d(202202) d(201509) ht(202204) ht[fr](201210) ht[fr](202203) ht[de](202xxx) ht[ru](202xxx) ht[pl](202xxx) ht[cz](202xxx) ht[sp](202xxx) ht[pt](202xxx) ht[it](202xxx) ht[tr](202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💰 Commercial: (empty)

🍩️ Resources
(empty):

🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames]

🐘 Social
(AutoHotkey (for Linux, aka AHK_X11)) Devs (Philip Waritschlager (phil294) [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
(AutoHotkey (original, for Windows)) Devs (AutoHotkey Foundation LLC [fr] [en]): [Site 1 2] [Chat] [Forums] [mastodon] [Facebook] [PeerTube] [YouTube] [reddit] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related


📦️ Misc. repositories
[Repology] [pkgs.org] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage (author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Boiling Steam on mastodon (20220831)]

🐘 Social Networking Update (on mastodon)

🛠️ Title: AutoHotkey
🦊️ What's: A libre task automation tool
🏡️ -
🐣️ https://github.com/phil294/AHK_X11
🔖 #LinuxTool #Automation
📦️ #Libre #Bin
📖 Our entry: http://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update: 0.1.0➜0.6.0
⚗️ Major upgrade 🪙️
📌️ Changes: https://github.com/phil294/AHK_X11/releases
🐘 From: 📶️ https://github.com/phil294/AHK_X11/releases.atom

🕯️ https://www.youtube.com/embed/wOq1ay2hcEY
🕯️[fr] https://www.youtube.com/embed/k5RW4wRI-ac
🎮️ https://www.youtube.com/embed/lxLNtBYjkjU
🎮️ https://www.youtube.com/embed/l4wm4dObhF4

🕶️ A view of its UI at launch (from my PC) with a "->INSTALL<-" button and an "Install" message "Installer No script specified to execute. You can use AHK_X11 from the command line if you wish. Otherwise, click on INSTALL below (recommended). This will install the binary and associate all .ahk files with it, so you can double-click on your scripts to run them."

AutoHotkey is a libre and (almost) multi-platform task automation tool. This basic and completely rewritten re-implementation aims to cover 80% of the features of Windows version 1.0.24 (old 2004 specification) (omitting some more recent features), without its Spyware. The operations to be performed are described in a user script (file in ".ahk" format) launched from the file manager, from the command line, by an executable that it is able to compile, or by a keyboard shortcut.

📕 Description [en]

📕🐧"A libre task automation tool"🐧📕

AutoHotkey for Linux (X11-based systems)

AutoHotkey is "Powerful. Easy to learn. The ultimate automation scripting language for Windows.". This project tries to bring large parts of that to Linux.

More specifically: A very basic but functional reimplementation AutoHotkey v1.0.24 (2004) for Unix-like systems with an X window system (X11), written from ground up with Crystal/libxdo/crystal-gobject/x11-cr/x_do.cr, with the eventual goal of 80% feature parity, but most likely never full compatibility. Currently about 60% of work is done. This AHK is shipped as a single executable native binary with very low resource overhead and fast execution time.

Note that because of the old version of the spec, many modern AHK features are missing, especially expressions (:=, % v), classes, objects and functions, so you probably can't just port your scripts from Windows.

You can use AHK_X11 to create stand-alone binaries with no dependencies, including full functionality like Hotkeys and GUIs. (just like on Windows)

Please also check out Keysharp, a WIP fork of IronAHK, another complete rewrite of AutoHotkey in C# that tries to be compatible with multiple OSes and support modern, v2-like AHK syntax with much more features than this one. In comparison, AHK_X11 is a lot less ambitious and more compact, and Linux only.

Features:

☑ Hotkeys
☑ Hotstrings (complete, but does not work in some windows: help needed)
☑ Window management (but some commands are still missing)
☑ Send keys
☑ Control mouse (only clicks so far)
☑ File management (but some commands are still missing)
☑ GUIs (some controls are still missing)
☑ One-click compile script to portable stand-alone executable
☑ Scripting: labels, flow control: If/Else, Loop
☐ Window Spy
☑ Graphical installer (optional)
☑ Context menu and compilation just like on Windows

Besides:

Interactive console (REPL)
• AHK_X11 can be used completely without a terminal. You can however if you want use it console-only too. Graphical commands are optional, it also runs headless.

Click (see the website) to see which commands are implemented and which are missing. Note however that this is not very representative. For example, all `Gui` sub commands are missing. For a better overview on what is already done, skim through the docs.

Usage

There are different ways to use it.

1. The graphical way, like on Windows: Running the program directly opens up the interactive installer.
• Once installed, all .ahk files are associated with AHK_X11, so you can simply double click them.
• Also adds the Compiler into Open as... Menus.
2. Command line: Pass the script to execute as first parameter, e.g. ./ahk_x11 "path to your script.ahk"
• Once your script's auto-execute section has finished, you can also execute arbitrary single line commands in the console. Code blocks aren't supported yet in that situation. Those single lines each run in their separate threads, which is why variables like %ErrorLevel% will always be 0.
• When you don't want to pass a script, you can specify --repl instead (implicit #Persistent).
• If you want to pass your command from stdin instead of file, do it like this: ./ahk_x11 /dev/stdin <<< 'MsgBox'.
• Compile scripts with `./ahk_x11 --compile "path/script.ahk"
• Hashbang supported if first line starts with #!

📕 Description [fr]

Un outil libre d'automatisation de tâches, par Philip Waritschlager (phil294), outil original par l'AutoHotkey Foundation LLC.
En Crystal.

AutoHotkey (AHK_X11) est un outil libre et (presque) multi-plateforme d'automatisation de tâches. Cette ré-implémentation basique et complètement ré-écrite a pour objectif de couvrir 80% des fonctionnalités de la version 1.0.24 (ancienne spécification de 2004) de Windows (faisant l'impasse sur un certain nombre de fonctionnalités plus récentes), sans ses Spywares. Les opérations à réaliser sont décrites dans un script utilisateur (fichier au format ".ahk") lancé depuis le gestionnaire de fichier, depuis la ligne de commande, par un exécutable qu'il est capable de compiler, ou par un raccourci clavier.


AutoHotkey pour Linux (systèmes basés sur X11)

AutoHotkey est "Puissant. Facile à apprendre. Le langage de script d'automatisation ultime pour Windows". Ce projet essaie d'apporter une grande partie de cela à Linux.

Plus précisément : Une réimplémentation très basique mais fonctionnelle d'AutoHotkey v1.0.24 (2004) pour les systèmes Unix-like avec un système de fenêtre X (X11), écrite de zéro avec Crystal/libxdo/crystal-gobject/x11-cr/x_do.cr, avec l'objectif final de 80% de parité de fonctionnalités, mais très probablement jamais de compatibilité totale. Actuellement, environ 60% du travail est fait. Cet AHK est livré sous la forme d'un seul binaire natif exécutable avec une très faible consommation de ressources et un temps d'exécution rapide.

Notez qu'en raison de l'ancienne version de la spécification, de nombreuses fonctionnalités modernes de l'AHK sont manquantes, en particulier les expressions (:=, % v), les classes, les objets et les fonctions, de sorte que vous ne pouvez probablement pas simplement porter vos scripts depuis Windows.

Vous pouvez utiliser AHK_X11 pour créer des binaires autonomes sans dépendances, incluant toutes les fonctionnalités comme les touches de raccourci et les interfaces graphiques. (tout comme sous Windows)

Veuillez également consulter Keysharp, un WIP fork de IronAHK, une autre réécriture complète d'AutoHotkey en C# qui essaie d'être compatible avec plusieurs OS et de supporter une syntaxe AHK moderne, de type v2, avec beaucoup plus de fonctionnalités que celle-ci. En comparaison, AHK_X11 est beaucoup moins ambitieux et plus compact, et uniquement pour Linux.

Caractéristiques :

☑ Touches de raccourci
☑ Hotstrings (complet, mais ne fonctionne pas dans certaines fenêtres : aide recherchée).
☑ Gestion des fenêtres (mais certaines commandes sont encore manquantes).
☑ Touches d'envoi
☑ Contrôle de la souris (seulement des clics pour l'instant)
☑ Gestion des fichiers (mais certaines commandes sont encore manquantes).
☑ Les interfaces graphiques (il manque encore quelques commandes)
☑ Compilation en un clic d'un script vers un exécutable autonome portable.
☑ Scripting : étiquettes, contrôle de flux : If/Else, Loop
☐ Espionnage de Windows
☑ Installateur graphique (facultatif)
☑ Menu contextuel et compilation comme sous Windows

En outre :

Console interactive (REPL)
- AHK_X11 peut être utilisé complètement sans terminal. Vous pouvez cependant si vous le souhaitez l'utiliser uniquement en console également. Les commandes graphiques sont optionnelles, il fonctionne également sans interface.

Cliquez (voir le site web) pour voir quelles commandes sont implémentées et lesquelles sont manquantes. Notez cependant que ceci n'est pas très représentatif. Par exemple, toutes les sous-commandes `Gui` sont manquantes. Pour un meilleur aperçu de ce qui est déjà fait, parcourez la documentation.

Utilisation

Il y a différentes façons de l'utiliser.

1. La manière graphique, comme sous Windows : L'exécution du programme ouvre directement l'installateur interactif.
- Une fois installé, tous les fichiers .ahk sont associés à AHK_X11, vous pouvez donc simplement les double-cliquer.
- Ajoute également le Compilateur dans Ouvrir comme... Menus.
2. Ligne de commande : Passez le script à exécuter comme premier paramètre, par exemple ./ahk_x11 "chemin vers votre script.ahk".
- Une fois que la section d'auto-exécution de votre script est terminée, vous pouvez également exécuter des commandes arbitraires en ligne simple dans la console. Les blocs de code ne sont pas encore pris en charge dans cette situation. Ces lignes uniques s'exécutent chacune dans leur propre thread, c'est pourquoi des variables comme %ErrorLevel% seront toujours égales à 0.
- Si vous ne voulez pas passer un script, vous pouvez spécifier --repl à la place (#Persistent implicite).
- Si vous voulez passer votre commande depuis stdin au lieu du fichier, faites-le comme ceci : ./ahk_x11 /dev/stdin <<< 'MsgBox'.
- Compilez les scripts avec `./ahk_x11 --compile "path/script.ahk"
- Hashbang supporté si la première ligne commence par # !

🚧️ Installation [fr]

🔧️ INSTALLATION :

⚙️ Installation à partir du binaire du jeu :

Installation à partir du binaire classique :
• (✔ v. 0.1.0) Un binaire statique (64-bits) est disponible, il suffit de décompresser le livrable et (s'il ne l'est pas) de rendre son binaire exécutable (clic droit sous votre gestionnaire de fichier).

📄️ Installation à partir du source du jeu :
• (🧪️not_tested) Source non testé.


🚀️ LANCEMENT DE L'INTERFACE:

• En console dans son répertoire racine lancez (ou cliquez sur ce binaire si vous l'aviez rendu exécutable d'un clic droit sur le fichier): $ ./ahk_x11

Cette opération permet de lancer l'application en tâche de fond avec un icône et un menu dans la zone de notification.
Il vous faudra ensuite plonger dans la documentation (et/ou regarder quelques vidéos illustrées par des exemples) pour en apprendre les rudiments et écrire vos premiers scripts (fichiers au format ".ahk") qui pourront être lancés de différentes manières et même compilés (non testé) pour devenir des exécutables.

🔍️ Test [fr]

🕵️ Test (✔ v. 0.1.0) par goupildb (config. : Manjaro 64-bit) :
Le : 31 août 2022
⏱️ Durée du test : 2 minutes.

🎯️ Objectif de ce test: tester son fonctionnement.

J'ai cherché pendant longtemps ce type d'utilitaires. Pour l'instant je n'en ai plus l'utilité :).
Mais ça reviendra. Et là je l'aurai sous le coude ... si je le retrouve :)).
Le binaire semble fonctionner correctement.
Au lancement l'application reste en tâche de fond (pour surveiller les appels de l'utilisateur) avec un icône et un menu dans la zone de notification.

🕹️ Conclusion :
Impression globale : 👍️
Il ne reste plus qu'à le tester plus en profondeur en écrivant vos propres scripts !
👏️ ❤️ Un grand bravo et merci à son auteur !