feat: an app icon in colour and symbolic form, validated at build time
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.
This commit is contained in:
1 parent
69eab02729
commit
f3d68cfdd4
4 files changed
+84
-10
No files matched your search
+3
-2
@@ -39,7 +39,7 @@ if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
|
||||
target_compile_options(udpsclient PRIVATE -Wall -Wextra)
|
||||
endif()
|
||||
|
||||
# --- icons: four symbolic SVGs compiled into the binary -----------------------
|
||||
# --- icons: six SVGs compiled into the binary --------------------------------
|
||||
# There is no stock icon for an oscilloscope trigger, a pair of cursors or a measurement
|
||||
# ruler, so this app draws its own. They go in a GResource rather than beside the binary
|
||||
# because udpscope is run straight out of the build tree and has no install step: a
|
||||
@@ -48,7 +48,8 @@ endif()
|
||||
find_program(GLIB_COMPILE_RESOURCES NAMES glib-compile-resources REQUIRED)
|
||||
set(UDPSCOPE_ICON_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/icons)
|
||||
file(GLOB UDPSCOPE_ICON_FILES CONFIGURE_DEPENDS
|
||||
${UDPSCOPE_ICON_DIR}/scalable/actions/*.svg)
|
||||
${UDPSCOPE_ICON_DIR}/scalable/actions/*.svg
|
||||
${UDPSCOPE_ICON_DIR}/scalable/apps/*.svg)
|
||||
add_custom_command(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/udpscope_resources.c
|
||||
COMMAND ${GLIB_COMPILE_RESOURCES}
|
||||
|
||||
Reference in new issue
Block a user