Both are drawn to the GNOME HIG: a 128px instrument face that leaves its margins, carries one 4px front profile for depth and no gradients or shadows, and a 16px symbolic reduction of the same metaphor in fills only. The colour icon strokes its sine because it is never recoloured; the symbolic one cannot. Every file in the manifest now preprocesses through xmllint, because a malformed SVG is the one icon failure no runtime check can see: librsvg refuses the file while the name still resolves, so the icon draws nothing and has_icon() says it is fine.
28 lines
1.7 KiB
XML
28 lines
1.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- SPDX-License-Identifier: MIT -->
|
|
<!-- SPDX-FileCopyrightText: 2026 Martino Ferrari -->
|
|
<!--
|
|
The icons this app had to draw for itself, compiled into the binary so there is still
|
|
exactly one file to run. `gtk_icon_theme_add_resource_path()` wants the tree an icon theme
|
|
has, so the prefix is followed by `<size>/<context>`; `scalable` is the one that means
|
|
"an SVG, use it at any size", and `apps` is where an application icon belongs.
|
|
|
|
Every file carries `preprocess="xml-stripblanks"`, which makes glib-compile-resources pipe
|
|
it through xmllint. That is the only thing that catches a malformed SVG: librsvg refuses
|
|
such a file outright, but the icon *name* still resolves, so `gtk_icon_theme_has_icon()`
|
|
returns true and the icon simply draws nothing. No runtime GTK call can tell the two apart
|
|
(`lookup_icon()` never returns NULL and always reports the size it was asked for), so the
|
|
check belongs here, where a double hyphen inside a comment fails the build with a file,
|
|
line and column instead.
|
|
-->
|
|
<gresources>
|
|
<gresource prefix="/org/udpscope/icons">
|
|
<file preprocess="xml-stripblanks">scalable/actions/udpscope-trigger-symbolic.svg</file>
|
|
<file preprocess="xml-stripblanks">scalable/actions/udpscope-cursors-symbolic.svg</file>
|
|
<file preprocess="xml-stripblanks">scalable/actions/udpscope-measure-symbolic.svg</file>
|
|
<file preprocess="xml-stripblanks">scalable/actions/udpscope-math-symbolic.svg</file>
|
|
<file preprocess="xml-stripblanks">scalable/apps/org.udpscope.app.svg</file>
|
|
<file preprocess="xml-stripblanks">scalable/apps/org.udpscope.app-symbolic.svg</file>
|
|
</gresource>
|
|
</gresources>
|