Inkscape/macrogoodness
Macro/Action dialog goodness that Gustav and Josh are working on. As items are taken care of, they're removed from the main text of this page. The controls/features will be copied to the bottom of this page in temp release notes (they will be fleshed out prior to the 0.46 release).
Basic Outline of Features/Functions
- Standard macro controls = Record, Play, Stop, New, and Delete (plus Save and Load)
- New macros
- Create macros by recording
- Create macros from undo history
- It's desirable to have the macros work contextually and include things such as selection (and also to include TABing to make context more useful)
- Play macros
- Macros need to intelligently skip impossible steps (such as font size changes being applied to a path)
- A spinbox next to play to tell it the number of times to play the macro (It should also give info to the status bar to say "playing macro n, X of Y scheduled times", or something like that)
- Saving/Loading macros
- Save macros to sets and load sets of macros
- Optionally save macros only in the current document (stored in defs perhaps)
- Documents should remember which sets they've had loaded and auto-load those when the document is re-opened
- Undo
- Undo should undo individual steps
- Undo History Dialog should have a wrapper for "Played Macro", to easily step back to before it was played.
Discussion
Should macros be written in XML, or something else?
Mental commented that it could be similar to how the Undo History Dialog works except it probably needs to be on a slightly higher level and we'd probably need richer tagging for the XML.
Macros should try to be as intelligent as possible. That is do smart actions on objects as opposed to recording coordinate moves and clicks.
- JonCruz
We really want macros to be replayable without a UI. So one could invoke Inkscape from the commandline, run headless and replay edits onto several documents. - JonCruz
We might want to look into using REX for macros.
BUGS
Can't have bugs without code. ;)
Release Notes
Can't have release notes without code. :)