easymacros/README.md
2022-10-10 20:03:00 +02:00

2.8 KiB

easymacros

This program is inspired by xmacro, however it isn't xmacro.

Note: This program is for personal use; I will modify it as I deem necessary, but feel free to open issues for suggestions or bug reports. Contributions are welcome!

:pen_ballpoint: TODOs :notepad_spiral:

  • Playing macros (xmacro like)
    • Delay support
    • KeySym/KeyCode/KeyStr action support
    • MotionNotify and button support
    • String typing support (Not too high priority, but I'll add it some time probably)
    • ExecBlock/ExecNoBlock support (not high priority)
      • ExecBlock
      • ExecNoBlock
  • Recording macros (xmacro like)
    • Delay
    • Keyboard actions
    • Mouse actions
  • Utilities for playing macros
    • Ignoring delays when playing
    • Event delay support
  • Rebrand?
    • new name
    • logo
  • Listening/remapping
    • Modes
      • Way to show current mode
        • mode change notifications?
        • small gui/popups?
      • allow passing keys through in some modes
      • make modes listen for numbers/amounts of repetitions
    • make shortcuts be able to listen for other shortcuts and inputs
    • rofi integration
    • autorun stuff on some windows?
  • Proper, safe xlib wrapper

Ideas 🧠

I may or may not do these, but they sound fun to implement to me!

  • additional macro features
    • relative cursor movements
    • screenshotting whole/parts ot the screen (using external programs)
  • Macro daemon kind of thing to listen in the background for keyboard shortcuts?
    • the daemon itself
    • config file
    • rofi integration
    • dmenu integration
    • custom macro manager
  • macro language?
    • Sending keys
    • mouse movements/events
    • control flow stuff/math/just normal scripting language stuff
    • reading/writing to clipboard
    • calling/recording other macros
    • running commands
  • GUI Macro editor which is actually user friendly

:desktop: Platform support :compression:

  • Linux x11 (only tested on i3wm)
  • Linux Wayland (makes heavy use of X apis, I will only do this if I myself switch to Wayland. I'm open to suggestions how to do it though!)
  • MacOS (Might work because of XQuartz?)
  • Windows (Yeah, I'm not doing that myself. Unless I have to use Windows for anything.)

📥 Installation 📰

Currently only manually possible via cargo build --release and then moving the result into your $PATH.