Materia-theme: change_color.sh broken with inkscape error: "Unkown option: --export-png=<IMAGE>"

Created on 24 Dec 2019  路  6Comments  路  Source: nana-4/materia-theme

  • Materia version: master (currently 8f3cbed0 but this happens since October already)
  • GTK3 version: 3.24.11
  • Distribution (and version): Gentoo ~amd64
  • Desktop environment (and version): none - just awesomewm
  • Inkscape version: 1.0beta2 (2b71d25d45, 2019-12-03)

Actual Issue
change_color.sh isn't exporting a theme anymore and gives the following error messages when running:
```== Light background color detected. Setting color variant to light.
== Converting theme into template...
== Filling the template with the new colorscheme...
== Generating the CSS...
== Rendering GTK 2 assets...
Rendering 'assets/entry-active.png'

(org.inkscape.Inkscape:23064): Gtk-WARNING **: 11:53:53.482: Theme parsing error: gtk.css:254:4: Expected semicolon
Unknown option --export-png=assets/entry-active.png
Rendering 'assets/entry-background.png'

(org.inkscape.Inkscape:23029): Gtk-WARNING **: 11:53:53.477: Theme parsing error: gtk.css:254:4: Expected semicolon
Unknown option --export-png=assets/entry-background.png
Rendering 'assets/entry-background-disabled.png'

(org.inkscape.Inkscape:23040): Gtk-WARNING *: 11:53:53.481: Theme parsing error: gtk.css:254:4: Expected semicolon
Unknown option --export-png=assets/entry-background-disabled.png
Rendering 'assets/flat-button.png'
`` This error message is repeated about 40 times. Please let me know if you need the whole output ... TheTheme parsingerror is something related to Inkscape but theUnknown option` error is the problem. As a result the theme is not created - interestingly running the script via oomox *does
export the theme despite being the same script 馃

Steps to Reproduce

  1. ./change_color.sh -o ta-materia-light-blue ~/.config/oomox/colors/ta-materia-light-blue
  2. script finishes with the error messages shown above without creating the theme
bug enhancement

Most helpful comment

wow that's really fast! Thanks for that :+1:
And after replacing --export-png everywhere the export is working again :-D The output is quite verbose though ... do you want to see a log of that?

Here's the patch replacing all instances of --export-png in any case:

  diff --git a/src/gtk/render-asset.sh b/src/gtk/render-asset.sh
  index a7d7e194..30290291 100755
  --- a/src/gtk/render-asset.sh
  +++ b/src/gtk/render-asset.sh
  @@ -40,7 +40,7 @@ else
     "$INKSCAPE" --export-id="$i" \
                 --export-id-only \
                 --export-dpi=192 \
  -              --export-png="$ASSETS_DIR/[email protected]" "$SRC_FILE" >/dev/null
  +              "$EXPORT_FILE_OPTION"="$ASSETS_DIR/[email protected]" "$SRC_FILE" >/dev/null
   fi
   if [[ -n "${OPTIPNG}" ]]; then
     "$OPTIPNG" -o7 --quiet "$ASSETS_DIR/[email protected]"

Thanks again for this fabulous product & support !!! 馃檹馃徏

All 6 comments

Thanks for the report.

It seems the option --export-png=foo.png has been replaced by --export-file=foo.png in Inkscape 1.0beta2. (See inkscape --help for details.) So we'll need to address that in the scripts...

And once we properly set the option name, that Theme parsing error should go away, I guess.

Thank you so much for the swift response and for looking into it! 馃檹馃徏

Yes inkscape --help doesn't give --export-png=foo.png as an option anymore ... but man inkscape does ;-)

-e FILENAME, --export-png=FILENAME
   Specify the filename for PNG export.  If it already exists, the file will be overwritten without asking. Use `-' as filename to write the image data to standard output.

Not so sure about the Theme parsing error btw ... it even shows up with inkscape --version ... 馃槈

but man inkscape does ;-)

inkscape --export-png prints it as an unknown option in version 1.0beta2, so I guess it's a documentation bug ;-)

Btw, I tried to fix this in the above commit. Can you check if it works for you and the error goes away?

wow that's really fast! Thanks for that :+1:
And after replacing --export-png everywhere the export is working again :-D The output is quite verbose though ... do you want to see a log of that?

Here's the patch replacing all instances of --export-png in any case:

  diff --git a/src/gtk/render-asset.sh b/src/gtk/render-asset.sh
  index a7d7e194..30290291 100755
  --- a/src/gtk/render-asset.sh
  +++ b/src/gtk/render-asset.sh
  @@ -40,7 +40,7 @@ else
     "$INKSCAPE" --export-id="$i" \
                 --export-id-only \
                 --export-dpi=192 \
  -              --export-png="$ASSETS_DIR/[email protected]" "$SRC_FILE" >/dev/null
  +              "$EXPORT_FILE_OPTION"="$ASSETS_DIR/[email protected]" "$SRC_FILE" >/dev/null
   fi
   if [[ -n "${OPTIPNG}" ]]; then
     "$OPTIPNG" -o7 --quiet "$ASSETS_DIR/[email protected]"

Thanks again for this fabulous product & support !!! 馃檹馃徏

Oops, I forgot to replace that. I'll add the patch, thanks for finding the mistake :wink:

The output is quite verbose though

Indeed. I have to admit that I didn't test it exactly because I only installed the Inkscape 1.0beta2 from flatpak :P

I'll fix that as well. Thanks for pointing it out :smiley_cat:

Hmm, I couldn't find a way to turn off the verbose output. Maybe the verbose output is because the application is still in beta... If you know, please let me know how to turn off the verbose output.

Anyway, I think we can close this issue now :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

vinyanalista picture vinyanalista  路  3Comments

MischievousTomato picture MischievousTomato  路  5Comments

n3oxmind picture n3oxmind  路  4Comments

TechnoSparks picture TechnoSparks  路  3Comments

johnfactotum picture johnfactotum  路  3Comments