Introduce a new production desktop shell at `shells/desktop/shell` built with C++20, Qt Quick/QML, and LayerShellQt, including top bar, launcher, desktop surfaces, shell state, and mock app data. Add the shared `packages/nebula-ui` QML module (theme, controls, focus, icons) and wire it into the shell build. Retire the old GTK/WebKit native host by removing `shells/desktop/native`, move the React shell UI to `shells/desktop/prototype-react` as an archived design reference, and update root/compositor/session documentation to reflect the new Linux-only production architecture and temporary Sway role.
101 lines
2.3 KiB
QML
101 lines
2.3 KiB
QML
pragma Singleton
|
|
|
|
import QtQuick
|
|
|
|
QtObject {
|
|
readonly property var apps: [
|
|
{
|
|
id: "files",
|
|
name: "Files",
|
|
comment: "Browse files and folders",
|
|
recent: true,
|
|
glyph: "folder",
|
|
tint: "#c4a574"
|
|
},
|
|
{
|
|
id: "firefox",
|
|
name: "Firefox",
|
|
comment: "Web browser",
|
|
recent: true,
|
|
glyph: "globe",
|
|
tint: "#d08a5a"
|
|
},
|
|
{
|
|
id: "terminal",
|
|
name: "Terminal",
|
|
comment: "Command line",
|
|
recent: true,
|
|
glyph: "terminal",
|
|
tint: "#7eaa8e"
|
|
},
|
|
{
|
|
id: "settings",
|
|
name: "Settings",
|
|
comment: "System preferences",
|
|
recent: false,
|
|
glyph: "settings",
|
|
tint: "#8e99ab"
|
|
},
|
|
{
|
|
id: "steam",
|
|
name: "Steam",
|
|
comment: "Games",
|
|
recent: true,
|
|
glyph: "game",
|
|
tint: "#6f8fb8"
|
|
},
|
|
{
|
|
id: "photos",
|
|
name: "Photos",
|
|
comment: "Pictures and albums",
|
|
recent: false,
|
|
glyph: "photo",
|
|
tint: "#8aa8c4"
|
|
},
|
|
{
|
|
id: "music",
|
|
name: "Music",
|
|
comment: "Listen and organise",
|
|
recent: false,
|
|
glyph: "music",
|
|
tint: "#b48a9a"
|
|
},
|
|
{
|
|
id: "text-editor",
|
|
name: "Text Editor",
|
|
comment: "Edit documents",
|
|
recent: false,
|
|
glyph: "document",
|
|
tint: "#9aa7bc"
|
|
}
|
|
]
|
|
|
|
readonly property var recents: apps.filter((app) => app.recent)
|
|
|
|
readonly property var projects: [
|
|
{
|
|
id: "nebulaos",
|
|
name: "NebulaOS",
|
|
subtitle: "Repository",
|
|
kind: "folder"
|
|
},
|
|
{
|
|
id: "website",
|
|
name: "Website",
|
|
subtitle: "Project",
|
|
kind: "folder"
|
|
},
|
|
{
|
|
id: "session-notes",
|
|
name: "Session notes",
|
|
subtitle: "Document",
|
|
kind: "document"
|
|
}
|
|
]
|
|
|
|
readonly property var user: ({
|
|
name: "User",
|
|
initials: "N"
|
|
})
|
|
}
|