Collection of mostly command line tools / PHP scripts. Somewhat out of date.

āŒˆāŒ‹ āŽ‡ branch:  scripts + snippets


Check-in [8f32b150fe]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:fix unicode and deprecated flags
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 8f32b150fe085fa67f6f1d14580f7369069db312
User & Date: mario 2025-06-16 00:20:42
Context
2025-06-16
00:27
fix generator for inx check-in: 4c1a26da5e user: mario tags: trunk
00:20
fix unicode and deprecated flags check-in: 8f32b150fe user: mario tags: trunk
2023-11-10
23:35
fix `attrib` method name, and translate float detection check-in: 519aaabdbf user: mario tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to inkscape/export_gif.inx.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
  <name>GIF slideshow</name>
  <description>Export and combine layers as animation via ImageMagick/Pillow</description>
  <!--<schema:softwareVersion xmlns:schema="https://schema.org/">1.1</schema:softwareVersion>-->
  <category>Export</category>
  <id>org.include-once.inkscape.export-gif</id>
  <dependency type="executable" location="inx">export_gif.py</dependency>
  <label appearance="header">Export and combine layers as animation via ImageMagick/Pillow</label>
  <param name="file" type="path" mode="file" gui-description="Output filename should end in .gif for actual results. Alternatively can be `APNG:dir/filename.apng` with ImageMagick 7." gui-text="Target GIF filename">~/anim.gif</param>
  <param name="mode" type="optiongroup" appearance="combo" gui-description="There's different backends to assemble the GIF. Pillow also works on Windows without convert.exe installed. The JavaScript mode embeds some code, does not actually generate a GIF output file." gui-text="Conversion mode">
    <option value="PNG→ImageMagick (better quality)">PNG→ImageMagick (better quality)</option>
    <option value="SVG→ImageMagick (simple drawings)">SVG→ImageMagick (simple drawings)</option>
    <option value="PNG→Pillow (builtin - a bit faster)">PNG→Pillow (builtin - a bit faster)</option>
    <option value="JavaScript→SVG (embed anim code)">JavaScript→SVG (embed anim code)</option>
  </param>
  <param name="delay" type="float" min="0.01" max="20" precision="2" mode="float" gui-text="Delay between slides (seconds)">0.35</param>
  <param name="loop" type="int" min="0" max="100" precision="1" gui-text="Loop limit (0 for endless)">0</param>
  <image width="505" height="50">export_gif.svg</image>
  <param name="notebook" type="notebook" gui-text="Additional flags and help">
    <page name="ImageMagick" gui-text="ImageMagick">
      <param name="fuzz" type="optiongroup" appearance="combo" gui-description="Detect similar colors for optimization" gui-text="Fuzzing/dither">
        <option value="0%">0%</option>
        <option value="5%">5%</option>
        <option value="10%">10%</option>



|

|










|
|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
  <name>GIF slideshow</name>
  <!--description>Export and combine layers as animation via ImageMagick/Pillow</description-->
  <!--<schema:softwareVersion xmlns:schema="https://schema.org/">1.1</schema:softwareVersion>-->
  <!--category>Export</category-->
  <id>org.include-once.inkscape.export-gif</id>
  <dependency type="executable" location="inx">export_gif.py</dependency>
  <label appearance="header">Export and combine layers as animation via ImageMagick/Pillow</label>
  <param name="file" type="path" mode="file" gui-description="Output filename should end in .gif for actual results. Alternatively can be `APNG:dir/filename.apng` with ImageMagick 7." gui-text="Target GIF filename">~/anim.gif</param>
  <param name="mode" type="optiongroup" appearance="combo" gui-description="There's different backends to assemble the GIF. Pillow also works on Windows without convert.exe installed. The JavaScript mode embeds some code, does not actually generate a GIF output file." gui-text="Conversion mode">
    <option value="PNG→ImageMagick (better quality)">PNG→ImageMagick (better quality)</option>
    <option value="SVG→ImageMagick (simple drawings)">SVG→ImageMagick (simple drawings)</option>
    <option value="PNG→Pillow (builtin - a bit faster)">PNG→Pillow (builtin - a bit faster)</option>
    <option value="JavaScript→SVG (embed anim code)">JavaScript→SVG (embed anim code)</option>
  </param>
  <param name="delay" type="float" min="0.01" max="20" precision="2"  gui-text="Delay between slides (seconds)">0.35</param><!--mode="float"-->
  <param name="loop" type="int" min="0" max="100"  gui-text="Loop limit (0 for endless)">0</param><!--precision="1"-->
  <image width="505" height="50">export_gif.svg</image>
  <param name="notebook" type="notebook" gui-text="Additional flags and help">
    <page name="ImageMagick" gui-text="ImageMagick">
      <param name="fuzz" type="optiongroup" appearance="combo" gui-description="Detect similar colors for optimization" gui-text="Fuzzing/dither">
        <option value="0%">0%</option>
        <option value="5%">5%</option>
        <option value="10%">10%</option>
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
        <option value="-dither FloydSteinberg">-dither FloydSteinberg</option>
        <option value="-limit disk 1MB">-limit disk 1MB</option>
        <option value="-reverse">-reverse</option>
        <option value="-monochrome">-monochrome</option>
        <option value="-transparent white">-transparent white</option>
      </param>
      <param name="extra2" type="string" gui-description="Specify additional convert(1) options." gui-text="Custom args"/>
      <param name="background" type="color" mode="color" appearance="colorbutton" gui-description="Only works for SVG→ImageMagick option." gui-text="Background color for transparent layers">0</param>
    </page>
    <page name="System" gui-text="System">
      <param name="preview" type="bool" mode="checkbox" gui-description="Should bring up default image viewer on resulting GIF (via xdg-open, or start… on Windows)" gui-text="Preview result file">false</param>
      <param name="keep_tmp" type="bool" mode="checkbox" gui-description="Will retain the frame PNGs in the fixed directory /tmp/inkscape.export_gif/" gui-text="Keep temporary files">false</param>
      <param name="reload_svg" type="bool" mode="checkbox" gui-description="Averts the warning popup of lacking result data. But is quite redundant for this tool. And should only be enabled if it's becoming too obnoxious." gui-text="Reload SVG in Inkscape">false</param>
      <param name="export_background" type="bool" mode="checkbox" gui-description="Uses --export-background for generating PNG slides prior assembly. (See ImageMagick for color tab.)" gui-text="Force background application in PNG export">false</param>
    </page>
    <page name="Animation" gui-text="Animation">
      <param name="subframes" type="int" min="0" max="100" precision="1" gui-description="Can be overridden per [animate=25] or [steps=25] in layer label." gui-text="Subframes per ā®animationāÆ slide">5</param>
      <param name="a_rotate" type="bool" mode="checkbox" gui-description="Actually works better than tweening, and allows for &gt;90° rotations without collapsing the matrix. OTOH the inkex method might handle positioning better." gui-text="Use simpler rotate() handler">true</param>
      <param name="all_anim" type="bool" mode="checkbox" gui-description="Makes [animate] tags redundant, at the expense of longer processing times; and repeat runs for background layers." gui-text="Engage whenever SVG animate instructions are present">false</param>
      <param name="all_pace" type="bool" mode="checkbox" gui-description="Honor begin=, dur=, and some calcMode= settings, for pacing or delayed timing. Otherwise individual layers can be marked with [pace] or [smooth] in addition to [animate]. Else animations run/stretch across the alloted delay time for a slide." gui-text="Honor timing information for all slides">false</param>
    </page>
    <page name="Help" gui-text="Help">
      <label>Layer labels (Ctrl+Shift+L, double click) can specify additional options:</label>
      <label>šŸž‚ [fixed] for very permanent foreground layer</label>
      <label>šŸž‚ [background] for sticky background images</label>
      <label>šŸž‚ [merge] enjoins partial layers; and [exclude] skips them</label>
      <label>šŸž‚ [animate=10] generates ā®animate*āÆ subframes, flag: [pace] timing</label>
      <label appearance="url">https://fossil.include-once.org/scripts/wiki/inkscape</label>
    </page>
  </param>
  <effect needs-live-preview="false">
    <object-type>all</object-type>
    <effects-menu>
      <submenu name="Export"/>







|


|
|
|
|


|
|
|
|



|
|
|
|







57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
        <option value="-dither FloydSteinberg">-dither FloydSteinberg</option>
        <option value="-limit disk 1MB">-limit disk 1MB</option>
        <option value="-reverse">-reverse</option>
        <option value="-monochrome">-monochrome</option>
        <option value="-transparent white">-transparent white</option>
      </param>
      <param name="extra2" type="string" gui-description="Specify additional convert(1) options." gui-text="Custom args"/>
      <param name="background" type="color" appearance="colorbutton" gui-description="Only works for SVG→ImageMagick option." gui-text="Background color for transparent layers">0</param><!--mode="color" -->
    </page>
    <page name="System" gui-text="System">
      <param name="preview" type="bool" gui-description="Should bring up default image viewer on resulting GIF (via xdg-open, or start… on Windows)" gui-text="Preview result file">false</param><!--mode="checkbox" -->
      <param name="keep_tmp" type="bool" gui-description="Will retain the frame PNGs in the fixed directory /tmp/inkscape.export_gif/" gui-text="Keep temporary files">false</param><!--mode="checkbox" -->
      <param name="reload_svg" type="bool" gui-description="Averts the warning popup of lacking result data. But is quite redundant for this tool. And should only be enabled if it's becoming too obnoxious." gui-text="Reload SVG in Inkscape">false</param><!--mode="checkbox" -->
      <param name="export_background" type="bool" gui-description="Uses -&#x2D;export-background for generating PNG slides prior assembly. (See ImageMagick for color tab.)" gui-text="Force background application in PNG export">false</param><!--mode="checkbox" -->
    </page>
    <page name="Animation" gui-text="Animation">
      <param name="subframes" type="int" min="0" max="100" gui-text="Subframes per animation-slide" gui-description="Can be overridden per [animate=25] or [steps=25] in layer label.">5</param>
      <param name="a_rotate" type="bool" gui-description="Actually works better than tweening, and allows for &gt;90° rotations without collapsing the matrix. OTOH the inkex method might handle positioning better." gui-text="Use simpler rotate() handler">true</param>
      <param name="all_anim" type="bool" gui-description="Makes [animate] tags redundant, at the expense of longer processing times; and repeat runs for background layers." gui-text="Engage whenever SVG animate instructions are present">false</param>
      <param name="all_pace" type="bool" gui-description="Honor begin=, dur=, and some calcMode= settings, for pacing or delayed timing. Otherwise individual layers can be marked with [pace] or [smooth] in addition to [animate]. Else animations run/stretch across the alloted delay time for a slide." gui-text="Honor timing information for all slides">false</param>
    </page>
    <page name="Help" gui-text="Help">
      <label>Layer labels (Ctrl+Shift+L, double click) can specify additional options:</label>
      <label>- [fixed] for very permanent foreground layer</label>
      <label>- [background] for sticky background images</label>
      <label>- [merge] enjoins partial layers; and [exclude] skips them</label>
      <label>- [animate=10] generates (animate*) subframes, flag: [pace] timing</label>
      <label appearance="url">https://fossil.include-once.org/scripts/wiki/inkscape</label>
    </page>
  </param>
  <effect needs-live-preview="false">
    <object-type>all</object-type>
    <effects-menu>
      <submenu name="Export"/>