Add desktop app service and VM dev session tooling

Introduces a new `core/applications` QML/C++ module (`Nebula.Applications`) to discover `.desktop` entries, expose filterable application models, and launch installed apps safely from the shell. The desktop launcher now uses real installed apps with themed icon loading and fallback glyphs, adds output-aware surface sizing via `OutputTracker`, and wires in image/icon providers. It also adds VMware-focused Sway/shell wrapper scripts, updates Sway config/session env defaults, and refreshes README docs to document the new development flow and Desktop 0.1 behavior.
This commit is contained in:
2026-08-26 17:19:30 +12:00
parent a7d204f241
commit b0c95b9e78
31 changed files with 1673 additions and 72 deletions
@@ -79,8 +79,11 @@ Item {
case "document":
paintDocument(ctx)
break
case "application":
paintApplication(ctx)
break
default:
paintFolder(ctx)
paintApplication(ctx)
break
}
}
@@ -189,6 +192,23 @@ Item {
ctx.stroke()
}
function paintApplication(ctx) {
ctx.lineWidth = 1.5
ctx.beginPath()
roundedRect(ctx, 4.2, 5.2, 15.6, 13.6, 2.2)
ctx.stroke()
ctx.beginPath()
ctx.moveTo(4.2, 8.4)
ctx.lineTo(19.8, 8.4)
ctx.stroke()
ctx.beginPath()
ctx.arc(7, 6.8, 0.7, 0, Math.PI * 2)
ctx.fill()
ctx.beginPath()
ctx.arc(9.4, 6.8, 0.7, 0, Math.PI * 2)
ctx.fill()
}
function paintFolder(ctx) {
ctx.beginPath()
ctx.moveTo(3.5, 8.2)