Use the canonical brand yellow #FECF03

Replaces #FCC001, which was measured off the hexagons in
OffScaleAppIcon.png. Sampling was the wrong approach: PNG antialiasing and
the icon's own shading make any eyedropper result an approximation of the
brand value rather than the value itself. #FECF03 (hue 48.8deg) is the
canonical one.

All three yellows resolve through root.accent — the bar's tailnet label,
the active connection name, and the IP/DNS subtitle — so this is a single
value. The wordmark asset is unaffected.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-17 02:30:47 +01:00
co-authored by Claude Opus 5
parent 04ac049a6f
commit 954d4dbcf0
+6 -5
View File
@@ -29,17 +29,18 @@ Panel {
readonly property color urgent: bar ? bar.urgent : Color.urgent
readonly property color dim: Qt.darker(foreground, 1.55)
// Brand yellow: the modal fill of the hexagons in OffScaleAppIcon.png,
// sampled from fully-opaque pixels only (the cluster sits at 252,192-196,1-2,
// so this is the flat colour rather than an antialiased edge). Replaced
// #FAE204, which came from the previous logo and was noticeably greener.
// Brand yellow/gold: #FECF03, hue 48.8deg. This is the canonical brand
// value, not a sample — an earlier #FCC001 was measured off the hexagons in
// OffScaleAppIcon.png, but PNG antialiasing and the icon's own shading make
// sampled pixels an approximation. Take this from the brand, never a
// screenshot or an eyedropper.
//
// Everything yellow in the plugin resolves through here: the tailnet label in
// the bar, the active connection's name, and the IP / DNS subtitle under each
// machine. That subtitle takes the accent flat rather than through `dim`,
// because darkening yellow shifts its hue to olive rather than quietening it.
// Icons stay on the themed foreground.
readonly property color accent: "#FCC001"
readonly property color accent: "#FECF03"
readonly property string fontFamily: bar ? bar.fontFamily : Style.font.family
readonly property bool showConnections: tailscale.accounts.length > 1 || tailscale.accountsAccessDenied
readonly property bool showPeers: tailscale.active && tailscale.peers.length > 0