Midnight UI for FreeCAD Linkstage3

Studio Petrikas

Midnight is a UI setup meant for FreeCAD Linsktage3 and FreeCAD LinkDaily.

It includes carefully sculpted stylesheets, a few icons and other goodies.

1920x and 4K @ 200%


Many of the areas of the UI were improved with the downside of giving up customizability. Meaning that some parts of the UI will be limited to user's modifications, just because those modifications would influence the rest of the UI design in such a way, that would hinder usability.

The Midnight UI is meant to be used as a package. It includes object colours, sketcher colours, output/editor colours, and many other preference changes.

Improvements include:

- Vertical UI for maximizing the Viewport area
- Dark UI and background for reduced eye-strain
- Aligned Tree icons with new "Visibility" icons
- Task Panel is now fixed width
- Reduced screen clutter (scrollbars, section names, etc)
- Sketcher colours changed to be more intuitive and play nice with the background
- Locked toolbars align correctly
- Tidier Preferences dialog
- Toolbars that are used between workbenches are consistently at the bottom (status bar)
- Status bar contains less redundant information
- Consistent toolbar positions (better for obtaining muscle memory)
- Minor tweaks centering words and number in their boxes

Installation instructions:


- Copy the the three folders to your User/FreeCAD folder:
# Windows: %APPDATA%/FreeCAD or C:\Users\[USER]\AppData\Roaming\FreeCAD
# Linux: ~/.FreeCAD or /home/[USER]/.FreeCAD or /home/[USER]/.config/FreeCAD
# macOS: ~/Library/Preferences/FreeCAD
# Snap (Snapcraft) builds: /home/[USER]/snap/freecad-realthunder/common/.FreeCAD/
- Run FreeCAD Linkstage3 / LinkDaily
- Go to Tools -> Edit Parameters
- Press Merge button -> From File
- Select the MidnightUI.FCParam file
- Go to Tools -> Customize
- Visit the Workbench tab (this writes active benches to the config file)
- Restart FreeCAD Linkstage3 / LinkDaily
- Go to Tools -> Edit Parameters
- Press Merge button -> From File
- Select the MidnightUI.FCParam file

Note: Loading parameters is still experimental. There are issues that can be fixed by simply re-merging VertUI.FCParam multiple times.

Installation Video:

Additional goodies:

I have included a SP_Startup folder in the Mod folder. It includes a script that loads all the enabled (non-disabled) workbench before the UI loads. Meaning that the benches will not be loaded on-demand, but preloaded on startup. This is to avoid any issues with toolbar positions.

In the editable SP_Startup.py file (use a text editor) is included a Startup Document feature, which will load a set document on startup (Similar to how Blender Behaves).

Set the StartupFile to True, and put the location of the document to in inverted commas in StartupDirectory

General notes: This is Work In Progress. I will keep improving as I use the software and come across bugs. Because of the nature of FreeCAD (community effort), it's difficult to make a UI that works for everything, as every tool developer makes their tools differently. Bugs will appear here and there, be aware of that.
I am open to feedback, feel free to contact me on Twitter @MPetrikas, or anywhere else you can find me.

Changelog and versioning:

[2022/07/04] V1.10 New pre-highlight (hover) colour, fixed the workbench tab bar that got broken in the latest FreeCAD Link release (07.04)

V1.03 Fixed the issue with the Expression Editor not being legible. Replace "Midnight VertUI.qss" file in the USER/FreeCAD/Gui/Stylesheets folder with the "Midnight VertUI.qss" file from the .zip to update.
V1.02: Limited the width of the tabs on the left in Preferences window. (Issue for different languages)
V1.01: Modified sketcher vertex colours for better differentiation between selected, constrained and unconstrained vertexes.
V1: Release

I want this!

.ZIP file containing Midnight UI configuration, stylesheets, a plugin file and some icons.

39.3 KB

Midnight UI for FreeCAD Linkstage3

I want this!