ThemeSearchPaths option was originally introduced in:
f640562b98 ("Option to opt-out from using a Linux desktop icon theme.", 2020-01-26)
It was set on by default in:
f45a4de3ee ("Gui: Use FreeCAD supplied icons on Linux by default", 2024-06-26)
The key effect of the option is to select the FreeCAD-default icon theme.
The code also unnecessarily resets QIcon::themeSearchPaths,
":\icons" is always included in the default search paths [1],
when when using QAdwaitaDecorations causes window frame control icons
not to be displayed:
(qt.qpa.qadwaitadecorations) Failed to find an svg icon for "window-close-symbolic.svg"
(qt.qpa.qadwaitadecorations) Failed to find an svg icon for "window-minimize-symbolic.svg"
(qt.qpa.qadwaitadecorations) Failed to find an svg icon for "window-maximize-symbolic.svg"
(qt.qpa.qadwaitadecorations) Failed to find an svg icon for "window-restore-symbolic.svg"
A different default icon theme can still be chosen with the Name option.
[1] https://doc.qt.io/qt-6/qicon.html#themeSearchPaths
The explicit activation of the MaterialWorkbench breaks the toolbars layout for every start. When fixing it manually it will be broken
again after the next start.
Because the core doesn't depend on the Material module it's a no-go to add an explicit runtime dependency to the corresponding workbench.
Since the Part module depends on the Materials module and the PartGui on MatGui the correct way is to let Part an PartGui load their
dependencies.
Uses new material system for appearance
Each feature object now has a property called ShapeMaterial that
describes its physical properties. If it has a shape, it has a
material.
The ShapeColor attribute is replaced by a ShapeAppearance attribute.
This is a material list that describes all appearance properties, not
just diffuse color. As a list in can be used for all elements of a
shape, such as edges and faces.
A new widget is provided to allow the user to select materials in a
consistent fashion. It can also launch the material editor with its
more advanced capabilities.