Difference between revisions of "Using xverbs"
m (add overview section) |
(Add some info, proofread.) |
||
Line 2: | Line 2: | ||
== Overview == | == Overview == | ||
"xverbs" is an extension that is useful for some batching tasks. | "xverbs" is an extension that is useful for some batching tasks. It is available ([http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/src/main-cmdlinexact.cpp in Inkscape trunk]), and will be available in the stable 0.93 release. | ||
" | Inkscape has a set of action "verbs", which is bounded to the menu system. One of the interesting uses of "verbs" is the --verb command line option. But the length of command line is limited and "verbs" can be applied for only one .svg file or for an empty new document. | ||
== | "xverbs" aims to overcome the limit of MAX_PATH (with libyaml) and add some useful "xverbs" with arguments. For example "xverb-id: XFileOpen, some.svg" allows you to open an existing document and "xverb-id: XFileSaveAs, other.svg" to save it with specified name. | ||
== Usage == | |||
Line 22: | Line 24: | ||
# set label for XUndoToLabel "xverb" works | # set label for XUndoToLabel "xverb" works | ||
# NB: if | # NB: if undo labels do not work, use "verb" EditUndo instead of XUndoLabel and XUndoToLabel | ||
- xverb-id: XUndoLabel, fresh_document | - xverb-id: XUndoLabel, fresh_document | ||
Line 28: | Line 30: | ||
- xverb-id: XSelectElement, top_sand | - xverb-id: XSelectElement, top_sand | ||
# | # common "verbs" | ||
- verb-id: EditInvertInAllLayers | - verb-id: EditInvertInAllLayers | ||
- verb-id: EditDelete | - verb-id: EditDelete | ||
- verb-id: FitCanvasToDrawing | - verb-id: FitCanvasToDrawing | ||
# save element to | # save element to separate svg document | ||
- xverb-id: XFileSaveAs, output/thegame/linux/data/gfx/loading_screen/top_sand.svg | - xverb-id: XFileSaveAs, output/thegame/linux/data/gfx/loading_screen/top_sand.svg | ||
Line 43: | Line 45: | ||
# do any other handling | # do any other handling | ||
# Inkscape | # Inkscape has a lot of useful "verbs" | ||
- verb-id: FileQuit | - verb-id: FileQuit | ||
</pre> | </pre> | ||
Line 51: | Line 53: | ||
"verbs" | "verbs" are developed for the Inkscape menu system, so "verbs" do not have any arguments. A list of available Inkscape "verbs" can be found in the source code:<br /> | ||
http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/src/verbs.cpp#L2543 | http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/src/verbs.cpp#L2543 | ||
Line 67: | Line 69: | ||
== Additional info == | == Additional info == | ||
Some additional info can be found | Some additional info can be found in this mailing list thread: <br /> | ||
https://sourceforge.net/p/inkscape/mailman/inkscape-devel/thread/33487d06-e3c1-a4e5-1496-7b370d672d2f%40gmail.com/#msg35392523 | https://sourceforge.net/p/inkscape/mailman/inkscape-devel/thread/33487d06-e3c1-a4e5-1496-7b370d672d2f%40gmail.com/#msg35392523 |
Revision as of 01:57, 17 May 2017
Overview
"xverbs" is an extension that is useful for some batching tasks. It is available (in Inkscape trunk), and will be available in the stable 0.93 release.
Inkscape has a set of action "verbs", which is bounded to the menu system. One of the interesting uses of "verbs" is the --verb command line option. But the length of command line is limited and "verbs" can be applied for only one .svg file or for an empty new document.
"xverbs" aims to overcome the limit of MAX_PATH (with libyaml) and add some useful "xverbs" with arguments. For example "xverb-id: XFileOpen, some.svg" allows you to open an existing document and "xverb-id: XFileSaveAs, other.svg" to save it with specified name.
Usage
inkscape --xverbs=xverbs.yaml
Format of xverbs.yaml:
# only "verbose: yes" enable logging verbose: yes run: # open document to process - xverb-id: XFileOpen, gfx_sources/loading_screen/sandclock_atlas.svg # set label for XUndoToLabel "xverb" works # NB: if undo labels do not work, use "verb" EditUndo instead of XUndoLabel and XUndoToLabel - xverb-id: XUndoLabel, fresh_document # select element to handle - xverb-id: XSelectElement, top_sand # common "verbs" - verb-id: EditInvertInAllLayers - verb-id: EditDelete - verb-id: FitCanvasToDrawing # save element to separate svg document - xverb-id: XFileSaveAs, output/thegame/linux/data/gfx/loading_screen/top_sand.svg # also save png preview - xverb-id: XFileExportPNG, output/thegame/linux/data/gfx_preview/loading_screen/top_sand.png # return to the fresh_state of document - xverb-id: XUndoToLabel, fresh_document # do any other handling # Inkscape has a lot of useful "verbs" - verb-id: FileQuit
List of verbs
"verbs" are developed for the Inkscape menu system, so "verbs" do not have any arguments. A list of available Inkscape "verbs" can be found in the source code:
http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/view/head:/src/verbs.cpp#L2543
List of xverbs
XFileSaveAs - save current document to specified filename
XFileOpen - open specified .svg filename instead of current document
XFileExportPNG - export to specified .png filename
XSelectElement - select svg element by name
XUndoLabel - set undo label
UndoToLabel - undo to specified label
Additional info
Some additional info can be found in this mailing list thread:
https://sourceforge.net/p/inkscape/mailman/inkscape-devel/thread/33487d06-e3c1-a4e5-1496-7b370d672d2f%40gmail.com/#msg35392523