Fix .deb desktop icon: use Kindred logo instead of FreeCAD icon
The build-deb.sh was copying org.freecad.FreeCAD.svg as the desktop icon because it checked the install directory first, where only the FreeCAD icon exists. Reorder to prefer resources/branding/kindred-logo.svg. Also generate PNG icons from the SVG using rsvg-convert when available, for better desktop environment compatibility.
This commit is contained in:
@@ -176,22 +176,33 @@ StartupNotify=true
|
||||
StartupWMClass=FreeCAD
|
||||
EOF
|
||||
|
||||
# Copy or create icon files
|
||||
if [ -f "${INSTALL_DIR}/share/icons/hicolor/scalable/apps/org.freecad.FreeCAD.svg" ]; then
|
||||
cp "${INSTALL_DIR}/share/icons/hicolor/scalable/apps/org.freecad.FreeCAD.svg" \
|
||||
# Copy Kindred branding icons (prefer Kindred logo over FreeCAD default)
|
||||
if [ -f "${PROJECT_ROOT}/resources/branding/kindred-logo.svg" ]; then
|
||||
cp "${PROJECT_ROOT}/resources/branding/kindred-logo.svg" \
|
||||
"${STAGING_DIR}/usr/share/icons/hicolor/scalable/apps/kindred-create.svg"
|
||||
elif [ -f "${PROJECT_ROOT}/resources/branding/kindred-create.svg" ]; then
|
||||
cp "${PROJECT_ROOT}/resources/branding/kindred-create.svg" \
|
||||
elif [ -f "${INSTALL_DIR}/share/icons/hicolor/scalable/apps/org.freecad.FreeCAD.svg" ]; then
|
||||
cp "${INSTALL_DIR}/share/icons/hicolor/scalable/apps/org.freecad.FreeCAD.svg" \
|
||||
"${STAGING_DIR}/usr/share/icons/hicolor/scalable/apps/kindred-create.svg"
|
||||
fi
|
||||
|
||||
# Copy PNG icons if available
|
||||
for size in 48 256; do
|
||||
if [ -f "${INSTALL_DIR}/share/icons/hicolor/${size}x${size}/apps/org.freecad.FreeCAD.png" ]; then
|
||||
cp "${INSTALL_DIR}/share/icons/hicolor/${size}x${size}/apps/org.freecad.FreeCAD.png" \
|
||||
"${STAGING_DIR}/usr/share/icons/hicolor/${size}x${size}/apps/kindred-create.png"
|
||||
fi
|
||||
done
|
||||
# Generate PNG icons from the Kindred SVG for better desktop integration
|
||||
if command -v rsvg-convert > /dev/null 2>&1 && \
|
||||
[ -f "${STAGING_DIR}/usr/share/icons/hicolor/scalable/apps/kindred-create.svg" ]; then
|
||||
for size in 48 256; do
|
||||
rsvg-convert -w "$size" -h "$size" \
|
||||
"${STAGING_DIR}/usr/share/icons/hicolor/scalable/apps/kindred-create.svg" \
|
||||
-o "${STAGING_DIR}/usr/share/icons/hicolor/${size}x${size}/apps/kindred-create.png" \
|
||||
2>/dev/null || true
|
||||
done
|
||||
else
|
||||
# Fallback: copy FreeCAD PNGs if available
|
||||
for size in 48 256; do
|
||||
if [ -f "${INSTALL_DIR}/share/icons/hicolor/${size}x${size}/apps/org.freecad.FreeCAD.png" ]; then
|
||||
cp "${INSTALL_DIR}/share/icons/hicolor/${size}x${size}/apps/org.freecad.FreeCAD.png" \
|
||||
"${STAGING_DIR}/usr/share/icons/hicolor/${size}x${size}/apps/kindred-create.png"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Create MIME type definition for .fcstd files
|
||||
cat > "${STAGING_DIR}/usr/share/mime/packages/kindred-create.xml" << 'EOF'
|
||||
|
||||
Reference in New Issue
Block a user