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:
+59
-1
@@ -7,7 +7,7 @@ Sway currently provides:
|
||||
- Wayland compositor
|
||||
- application window management
|
||||
- XWayland
|
||||
- input
|
||||
- input and the pointer cursor
|
||||
- output handling
|
||||
|
||||
Nebula provides the visible shell (Qt Quick/QML via LayerShellQt). The Sway config must not enable a Sway bar.
|
||||
@@ -25,3 +25,61 @@ Nebula compositor later
|
||||
Nebula Shell
|
||||
Qt Quick/QML
|
||||
```
|
||||
|
||||
## Development session
|
||||
|
||||
From the NebulaOS repository root:
|
||||
|
||||
```bash
|
||||
sway -c compositor/sway/nebula-sway.conf
|
||||
```
|
||||
|
||||
Recommended on the Ubuntu VMware VM (repo-root `cd`, cursor environment, software cursors):
|
||||
|
||||
```bash
|
||||
./compositor/sway/dev/run-sway-vm.sh
|
||||
```
|
||||
|
||||
Sway then autostarts Nebula Desktop through `scripts/run-nebula-vm.sh`.
|
||||
|
||||
Skip shell autostart:
|
||||
|
||||
```bash
|
||||
NEBULA_SHELL_AUTOSTART=0 ./compositor/sway/dev/run-sway-vm.sh
|
||||
```
|
||||
|
||||
### Output / resolution
|
||||
|
||||
The development config uses scale `1` and requests `1920x1080` when that mode is advertised. If it is not, Sway keeps the preferred mode. This is a VM convenience, not a production requirement.
|
||||
|
||||
```bash
|
||||
swaymsg -t get_outputs
|
||||
swaymsg output <name> mode 1920x1080
|
||||
swaymsg output <name> scale 1
|
||||
```
|
||||
|
||||
### Cursor
|
||||
|
||||
```text
|
||||
seat * xcursor_theme Adwaita 24
|
||||
XCURSOR_THEME=Adwaita
|
||||
XCURSOR_SIZE=24
|
||||
```
|
||||
|
||||
Requires `adwaita-icon-theme`. A Nebula-branded cursor theme is a later task.
|
||||
|
||||
`WLR_NO_HARDWARE_CURSORS=1` is VMware-specific and is set by `run-sway-vm.sh`, not by production session files.
|
||||
|
||||
### Emergency shortcuts
|
||||
|
||||
| Shortcut | Action |
|
||||
|----------|--------|
|
||||
| Super+Enter | open Foot |
|
||||
| Super+Shift+E | exit Sway |
|
||||
| Super+Shift+C | reload Sway config |
|
||||
|
||||
Normal application launching is done from the Nebula launcher, not these shortcuts.
|
||||
|
||||
### Rendering
|
||||
|
||||
`scripts/run-nebula-vm.sh` sets `QT_QUICK_BACKEND=software` for the VMware guest GPU. Production `nebula-shell` must not set that variable.
|
||||
|
||||
Reference in New Issue
Block a user