What Coding Automation Tools Are You Using for Linux?

I’m trying to make the switch from OSX to Linux. So far the primary constraint has been automation.

I relied heavily on Keyboard Maestro for automating common coding tasks, key strokes, and mouse inputs.

I have yet to find an equivalent for Linux.

Linux-based coders: What are you using for snippets, macros, keystrokes, and/or mouse inputs automation?

P.S. Anyway to get Autokey to work with Wayland?



BTW, what Linux distro are you using?

I have never used keyboard maestro but after a quick google I don’t think that I know of an all-in-one program that does what keyboard maestro does. You can replicate all of the functionality but it will be by gluing several different tools together, and will probably require more work than the Mac equivalent for most stuff.

With that said, here’s how I do things. I am using i3 as my window manager, so through there I have all my window management hotkeys as well as any hotkeys to launch a program or script that I have. For common coding tasks and snippets I have that set up in my editor. Means that I don’t get snippets outside of there, but I don’t have a ton of use for them tbh. I try and make sure that all functionality of my computer is accessible with a keyboard so I have never tried to script my mouse movements, but if you are using X11 you can use xdotool for that. As you mentioned wayland, I’m going to assume you are not. I don’t personally use wayland so I cannot say for certain but it’s my understanding that automation tools like that are going to be much harder to make under wayland. Under x any window has access to the contents of any other window, which is convenient but also a huge security flaw. Under wayland your program only has access to its own windows. Again never used this but I found GitHub - ReimuNotMoe/ydotool: Generic command-line automation tool (no X!) and GitHub - atx/wtype: xdotool type for wayland as replacements, which you may be able to get working under wayland.

Edit to clarify: Linux is incredibly automatable, much more so than MacOS, which if I had to hazard a guess is why a tool like keyboard maestro has not emerged. There’s no need for a centralized Automation tool since everything is already exposed. Though you will need to access it at a much lower level, like udev and systemd. But that power is available to you as an end user, unlike with macos