Files
Nebula-OS/packages/nebula-ui/qml/Nebula/UI/Theme.qml
T
andrew 4321209e92 Add floating traffic-light window chrome
Introduces a dedicated layer-shell `WindowChromeSurface` that renders macOS-style traffic-light controls over the focused Sway window titlebar, replacing the old top-bar window controls. Adds theme tokens and a reusable `TrafficLightButton` component, updates shell QML/CMake wiring, and adjusts Sway titlebar padding/title format so window titles do not overlap the overlay. Window tracking was extended with focused-window geometry/deco/fullscreen properties plus backend refresh support so the chrome follows window movement and state changes in near real time.
2026-08-26 22:38:33 +12:00

65 lines
2.7 KiB
QML

pragma Singleton
import QtQuick
QtObject {
// Colours from the Nebula Desktop React prototype (tokens.css).
readonly property color background: "#0b0f16"
readonly property color backgroundDeep: "#080b11"
readonly property color surface: Qt.rgba(20 / 255, 26 / 255, 36 / 255, 0.78)
readonly property color surfaceRaised: Qt.rgba(32 / 255, 40 / 255, 54 / 255, 0.9)
readonly property color topBarBackground: Qt.rgba(10 / 255, 13 / 255, 18 / 255, 0.55)
readonly property color border: Qt.rgba(232 / 255, 236 / 255, 242 / 255, 0.08)
readonly property color borderStrong: Qt.rgba(232 / 255, 236 / 255, 242 / 255, 0.14)
readonly property color textPrimary: "#e8ecf2"
readonly property color textSecondary: "#8e99ab"
readonly property color textTertiary: "#6b7587"
readonly property color accent: "#7ea0c4"
readonly property color accentStrong: "#9bb6d4"
readonly property color accentSoft: Qt.rgba(126 / 255, 160 / 255, 196 / 255, 0.16)
readonly property color danger: "#c98888"
readonly property color focus: Qt.rgba(126 / 255, 160 / 255, 196 / 255, 0.55)
readonly property color hoverFill: Qt.rgba(1, 1, 1, 0.06)
readonly property color pressedFill: Qt.rgba(1, 1, 1, 0.10)
readonly property color dangerSoft: Qt.rgba(201 / 255, 136 / 255, 136 / 255, 0.18)
readonly property color dangerSoftStrong: Qt.rgba(201 / 255, 136 / 255, 136 / 255, 0.28)
readonly property color trafficClose: "#ff5f57"
readonly property color trafficMinimise: "#febc2e"
readonly property color trafficZoom: "#28c840"
readonly property color tileHover: Qt.rgba(1, 1, 1, 0.05)
readonly property color iconWell: Qt.rgba(1, 1, 1, 0.05)
readonly property color iconWellHighlight: Qt.rgba(1, 1, 1, 0.06)
readonly property color searchFill: Qt.rgba(8 / 255, 11 / 255, 17 / 255, 0.45)
readonly property color shadow: Qt.rgba(0, 0, 0, 0.42)
readonly property int radiusSmall: 6
readonly property int radiusMedium: 10
readonly property int radiusLarge: 14
readonly property int spacingSmall: 8
readonly property int spacingMedium: 16
readonly property int spacingLarge: 24
readonly property int animationFast: 120
readonly property int animationNormal: 200
readonly property int topBarHeight: 40
readonly property int controlHeight: 28
readonly property int searchHeight: 36
readonly property int trafficLightSize: 12
readonly property int trafficLightGap: 8
readonly property int windowChromeInset: 10
readonly property int fontSize: 13
readonly property int fontSizeApp: 12
readonly property int fontSizeSmall: 11
readonly property string fontFamily: "Ubuntu"
}