Removes the hardcoded `output * mode 1920x1080` from the development Sway config and updates related docs to match. Dev sessions now rely on each output’s preferred mode at scale `1`, which better follows current display size (including VMware autofit behavior), while still documenting how to set a mode manually when needed.
85 lines
2.0 KiB
Markdown
85 lines
2.0 KiB
Markdown
# Compositor
|
|
|
|
Sway is the **temporary** Wayland compositor while Nebula Desktop is developed. Configuration lives in `sway/nebula-sway.conf`.
|
|
|
|
Sway currently provides:
|
|
|
|
- Wayland compositor
|
|
- application window management
|
|
- XWayland
|
|
- 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.
|
|
|
|
A custom Nebula compositor is a later milestone. Do not treat this Sway setup as the final architecture.
|
|
|
|
```text
|
|
Ubuntu/Linux
|
|
↓
|
|
Wayland
|
|
↓
|
|
Sway now
|
|
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
|
|
sh 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 sh compositor/sway/dev/run-sway-vm.sh
|
|
```
|
|
|
|
### Output / resolution
|
|
|
|
The development config uses scale `1` and does not pin a resolution. Sway uses the output's preferred mode, which follows the current display size (including VMware Autofit Guest).
|
|
|
|
```bash
|
|
swaymsg -t get_outputs
|
|
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.
|