chore: rebrand XDGData and icon installs to Kindred Create (#367)
All checks were successful
Build and Test / build (pull_request) Successful in 29m26s

- Replace org.freecad.FreeCAD.desktop with kindred-create.desktop
- Replace org.freecad.FreeCAD.metainfo.xml.in with Kindred Create
  metainfo (new description, Kindred URLs, kindred-create app ID)
- Replace org.freecad.FreeCAD.xml with kindred-create.xml (adds .kc
  MIME type alongside .fcstd)
- Replace FreeCAD.thumbnailer.in with kindred-create.thumbnailer.in
- Update XDGData/CMakeLists.txt for new filenames
- Update src/Gui/CMakeLists.txt icon installs: use kindred-create
  icons from resources/ (all sizes 16-512 + SVG) instead of renaming
  freecad-icon-*.png to org.freecad.FreeCAD.png
- Update freecad-thumbnailer.in default icon to kindred-create.png
- Update AppImage create_bundle.sh to use kindred-create desktop/icon

Remaining org.freecad.FreeCAD references are macOS bundle IDs
(MainWindow.cpp, MacAppBundle/) and packaging fallbacks — separate
rebranding tasks.
This commit is contained in:
forbes
2026-03-02 08:06:36 -06:00
parent fa9c9ba761
commit 1b01762a1c
11 changed files with 97 additions and 133 deletions

View File

@@ -29,9 +29,9 @@ rm -rf ${conda_env}/bin_tmp
sed -i '1s|.*|#!/usr/bin/env python|' ${conda_env}/bin/pip sed -i '1s|.*|#!/usr/bin/env python|' ${conda_env}/bin/pip
echo -e "\nCopying Icon and Desktop file" echo -e "\nCopying Icon and Desktop file"
cp ${conda_env}/share/applications/org.freecad.FreeCAD.desktop AppDir/ cp ${conda_env}/share/applications/kindred-create.desktop AppDir/
sed -i 's/Exec=FreeCAD/Exec=AppRun/g' AppDir/org.freecad.FreeCAD.desktop sed -i 's/Exec=kindred-create/Exec=AppRun/g' AppDir/kindred-create.desktop
cp ${conda_env}/share/icons/hicolor/scalable/apps/org.freecad.FreeCAD.svg AppDir/ cp ${conda_env}/share/icons/hicolor/scalable/apps/kindred-create.svg AppDir/
# Remove __pycache__ folders and .pyc files # Remove __pycache__ folders and .pyc files
find . -path "*/__pycache__/*" -delete find . -path "*/__pycache__/*" -delete

View File

@@ -1587,12 +1587,15 @@ else(WIN32)
INSTALL(TARGETS FreeCADGui INSTALL(TARGETS FreeCADGui
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
) )
INSTALL(FILES Icons/freecad-icon-16.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps RENAME org.freecad.FreeCAD.png) INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/16x16/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps)
INSTALL(FILES Icons/freecad-icon-32.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps RENAME org.freecad.FreeCAD.png) INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/32x32/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps)
INSTALL(FILES Icons/freecad-icon-48.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps RENAME org.freecad.FreeCAD.png) INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/48x48/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps)
INSTALL(FILES Icons/freecad-icon-64.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps RENAME org.freecad.FreeCAD.png) INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/64x64/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps)
INSTALL(FILES Icons/freecad.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps RENAME org.freecad.FreeCAD.svg) INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/128x128/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps)
INSTALL(FILES Icons/freecad.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps) INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/256x256/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/512x512/apps/kindred-create.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/scalable/apps/kindred-create.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/resources/icons/hicolor/scalable/apps/kindred-create.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps)
INSTALL(FILES Icons/freecad-doc.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/mimetypes RENAME application-x-extension-fcstd.svg) INSTALL(FILES Icons/freecad-doc.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/mimetypes RENAME application-x-extension-fcstd.svg)
endif(WIN32) endif(WIN32)

View File

@@ -32,14 +32,15 @@ NOTE: To make sure FreeCAD saves thumbnail information:
Edit → Preferences → Document → Save thumbnail into project when saving document Edit → Preferences → Document → Save thumbnail into project when saving document
""" """
import getopt
import sys import sys
import zipfile import zipfile
import getopt
opt, par = getopt.getopt(sys.argv[1:], "-s:") opt, par = getopt.getopt(sys.argv[1:], "-s:")
input_file = par[0] input_file = par[0]
output_file = par[1] output_file = par[1]
default_icon = "@CMAKE_INSTALL_DATAROOTDIR@/icons/hicolor/48x48/apps/org.freecad.FreeCAD.png" default_icon = "@CMAKE_INSTALL_DATAROOTDIR@/icons/hicolor/48x48/apps/kindred-create.png"
try: try:
# Read compressed file # Read compressed file

View File

@@ -12,30 +12,30 @@ if(NOT DEFINED APPDATA_RELEASE_DATE)
endif() endif()
configure_file( configure_file(
org.freecad.FreeCAD.metainfo.xml.in kindred-create.metainfo.xml.in
${CMAKE_BINARY_DIR}/org.freecad.FreeCAD.metainfo.xml ${CMAKE_BINARY_DIR}/kindred-create.metainfo.xml
) )
install( install(
FILES ${CMAKE_BINARY_DIR}/org.freecad.FreeCAD.metainfo.xml FILES ${CMAKE_BINARY_DIR}/kindred-create.metainfo.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo
) )
install( install(
FILES org.freecad.FreeCAD.desktop FILES kindred-create.desktop
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications
) )
install( install(
FILES org.freecad.FreeCAD.xml FILES kindred-create.xml
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/mime/packages DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/mime/packages
) )
configure_file( configure_file(
FreeCAD.thumbnailer.in kindred-create.thumbnailer.in
${CMAKE_BINARY_DIR}/FreeCAD.thumbnailer ${CMAKE_BINARY_DIR}/kindred-create.thumbnailer
) )
install( install(
FILES ${CMAKE_BINARY_DIR}/FreeCAD.thumbnailer FILES ${CMAKE_BINARY_DIR}/kindred-create.thumbnailer
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/thumbnailers DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/thumbnailers
) )

View File

@@ -0,0 +1,13 @@
[Desktop Entry]
Name=Kindred Create
GenericName=CAD Application
Comment=Parametric 3D CAD modeler based on FreeCAD
Exec=kindred-create %U
Icon=kindred-create
Terminal=false
Type=Application
Categories=Graphics;Science;Engineering;
MimeType=application/x-extension-fcstd;application/x-kindred-create;x-scheme-handler/kindred;
Keywords=CAD;3D;modeling;engineering;design;parametric;
StartupNotify=true
StartupWMClass=KindredCreate

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>kindred-create</id>
<project_license>LGPL-2.1-or-later</project_license>
<metadata_license>CC0-1.0</metadata_license>
<developer_name>Kindred Systems</developer_name>
<launchable type="desktop-id">kindred-create.desktop</launchable>
<name>Kindred Create</name>
<summary>Parametric 3D CAD modeler for professional engineering workflows</summary>
<description>
<p>
Kindred Create is a parametric 3D CAD modeler built for professional engineering
workflows. Based on FreeCAD, it adds a context-aware UI system, integrated PLM
connectivity via Silo, and a pluggable file origin layer on top of FreeCAD's
parametric modeling core.
</p>
<p>
Create constrained 2D sketches as the basis for 3D models, use PartDesign for
feature-based solid modeling, and assemble multi-part designs with the Assembly
workbench. Kindred Create supports STEP, IGES, STL, OBJ, DXF, and other standard
CAD formats.
</p>
</description>
<keywords>
<keyword>engineering</keyword>
<keyword translate="no">cad</keyword>
<keyword translate="no">design</keyword>
<keyword translate="no">3d</keyword>
<keyword translate="no">parametric-modeler</keyword>
<keyword>assembly</keyword>
<keyword>part</keyword>
<keyword translate="no">plm</keyword>
</keywords>
<url type="homepage">https://git.kindred-systems.com/kindred/create</url>
<url type="bugtracker">https://git.kindred-systems.com/kindred/create/issues</url>
<url type="vcs-browser">https://git.kindred-systems.com/kindred/create</url>
<url type="contribute">https://git.kindred-systems.com/kindred/create/src/branch/main/CONTRIBUTING.md</url>
<content_rating type="oars-1.1"/>
<releases>
<release version="@PACKAGE_VERSION@" date="@APPDATA_RELEASE_DATE@"/>
</releases>
</component>

View File

@@ -1,4 +1,4 @@
[Thumbnailer Entry] [Thumbnailer Entry]
TryExec=@CMAKE_INSTALL_BINDIR@/freecad-thumbnailer TryExec=@CMAKE_INSTALL_BINDIR@/freecad-thumbnailer
Exec=@CMAKE_INSTALL_BINDIR@/freecad-thumbnailer -s %s %i %o Exec=@CMAKE_INSTALL_BINDIR@/freecad-thumbnailer -s %s %i %o
MimeType=application/x-extension-fcstd; MimeType=application/x-extension-fcstd;application/x-kindred-create;

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-extension-fcstd">
<comment>FreeCAD Document</comment>
<comment xml:lang="en">FreeCAD Document</comment>
<icon name="kindred-create"/>
<glob pattern="*.FCStd"/>
<glob pattern="*.fcstd"/>
<glob pattern="*.FCSTD"/>
</mime-type>
<mime-type type="application/x-kindred-create">
<comment>Kindred Create Document</comment>
<comment xml:lang="en">Kindred Create Document</comment>
<icon name="kindred-create"/>
<glob pattern="*.kc"/>
<glob pattern="*.KC"/>
</mime-type>
</mime-info>

View File

@@ -1,22 +0,0 @@
[Desktop Entry]
Name=FreeCAD
Comment=Feature based Parametric Modeler
Comment[de]=Feature-basierter parametrischer Modellierer
Comment[es]=Modelador paramétrico basado en operaciones
Comment[ko]=형상 기반 파라메트릭 모델링 도구
Comment[pl]=Modeler parametryczny oparty na cechach
Comment[ru]=Система автоматизированного проектирования
GenericName=CAD Application
GenericName[de]=CAD-Anwendung
GenericName[es]=Aplicación CAD
GenericName[ko]=CAD 응용프로그램
GenericName[pl]=Aplikacja CAD
GenericName[ru]=Система автоматизированного проектирования
Exec=FreeCAD - --single-instance %F
Terminal=false
Type=Application
Icon=org.freecad.FreeCAD
Categories=Graphics;Science;Education;Engineering;X-CNC;
StartupNotify=true
StartupWMClass=FreeCAD
MimeType=application/x-extension-fcstd;model/obj;image/vnd.dwg;image/vnd.dxf;model/vnd.collada+xml;application/iges;model/iges;model/step;model/step+zip;model/stl;application/vnd.shp;model/vrml;

View File

@@ -1,82 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>org.freecad.FreeCAD</id>
<project_license>LGPL-2.1</project_license>
<metadata_license>CC0-1.0</metadata_license>
<developer_name>The FreeCAD Team</developer_name>
<launchable type="desktop-id">org.freecad.FreeCAD.desktop</launchable>
<name>FreeCAD</name>
<summary>An open source parametric 3D CAD modeler</summary>
<description>
<p>
FreeCAD is an open-source parametric 3D modeler built to help you design real-world objects of
any size. With parametric modeling, you can easily modify your designs by adjusting parameters
in the model history. FreeCAD is suitable for a wide range of uses, from product design and
mechanical engineering to architecture and 3D printing.
</p>
<p>
The software allows you to create constrained 2D sketches, which can be used as the basis for more
complex 3D models. It includes tools to adjust dimensions, extract design details, and produce
production-ready technical drawings. FreeCAD is available on Windows, Mac, and Linux, and
supports various file formats like STEP, IGES, STL, SVG, DXF, OBJ, IFC, and more, making it easy to
fit into existing workflows. It also supports customization through Python scripting for those
who want to automate tasks or develop custom features.
</p>
<p>
FreeCAD offers several specialized workbenches, including tools for Finite Element Analysis
(FEA), Building Information Modeling (BIM), CAM / CNC and robot movement simulation. You can expand its
capabilities with add-ons, plugins, and macros created by the FreeCAD community, which can be
installed directly from the application. This flexibility makes it a practical choice for both
professionals and hobbyists.
</p>
</description>
<screenshots>
<screenshot type="default">
<caption>Part Design</caption>
<image>https://raw.githubusercontent.com/FreeCAD/FreeCAD/main/.github/images/partdesign.png</image>
</screenshot>
<screenshot>
<caption>Assembly</caption>
<image>https://raw.githubusercontent.com/FreeCAD/FreeCAD/main/.github/images/assembly.png</image>
</screenshot>
<screenshot>
<caption>BIM</caption>
<image>https://raw.githubusercontent.com/FreeCAD/FreeCAD/main/.github/images/bim.png</image>
</screenshot>
<screenshot>
<caption>FEM</caption>
<image>https://raw.githubusercontent.com/FreeCAD/FreeCAD/main/.github/images/fem.png</image>
</screenshot>
</screenshots>
<keywords>
<keyword>engineering</keyword>
<keyword translate="no">cad</keyword>
<keyword translate="no">bim</keyword>
<keyword translate="no">fea</keyword>
<keyword translate="no">fem</keyword>
<keyword translate="no">cam</keyword>
<keyword translate="no">cnc</keyword>
<keyword translate="no">design</keyword>
<keyword translate="no">3d</keyword>
<keyword translate="no">3d-printing</keyword>
<keyword translate="no">opencascade</keyword>
<keyword translate="no">parametric-modeler</keyword>
<keyword>architecture</keyword>
<keyword>assembly</keyword>
<keyword>part</keyword>
<keyword translate="no">coin</keyword>
</keywords>
<url type="homepage">https://www.freecad.org/</url>
<url type="bugtracker">https://github.com/FreeCAD/FreeCAD/issues</url>
<url type="faq">https://wiki.freecad.org/Frequently_asked_questions</url>
<url type="help">https://wiki.freecad.org/User_hub</url>
<url type="donation">https://www.freecad.org/sponsor.php</url>
<url type="translate">https://crowdin.com/project/freecad</url>
<url type="vcs-browser">https://github.com/FreeCAD/FreeCAD</url>
<url type="contribute">https://github.com/FreeCAD/FreeCAD/blob/master/CONTRIBUTING.md</url>
<update_contact>yorik_AT_uncreated.net</update_contact>
<content_rating type="oars-1.1"/>
<releases>
<release version="@PACKAGE_VERSION@" date="@APPDATA_RELEASE_DATE@"/>
</releases>
</component>

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/x-extension-fcstd">
<!-- <sub-class-of type="application/zip"/> -->
<comment>FreeCAD document files</comment>
<glob pattern="*.fcstd"/>
<generic-icon name="application-x-extension-fcstd"/>
</mime-type>
</mime-info>