63 lines
1.5 KiB
Markdown
63 lines
1.5 KiB
Markdown
# TUI-WM
|
|
|
|
En terminal-baserad fönsterhanterare med flytande fönster, full mussuport och SSH-kompatibilitet — inspirerad av tmux men med ett modernt UX.
|
|
|
|
## Funktioner (planerade)
|
|
|
|
- Flytande terminaler med fri positionering och storleksändring
|
|
- Full mussuport: vänster/höger klick, scroll, markering
|
|
- Topanel och/eller bottenpanel
|
|
- Dynamisk omrendering vid terminalstorlek-ändringar
|
|
- SSH-kompatibel (fungerar via vanliga ANSI escape-koder)
|
|
- Kompilerar till fristående binärer för Windows och Linux
|
|
|
|
## Teknikstack
|
|
|
|
| Komponent | Bibliotek |
|
|
|---|---|
|
|
| Terminal I/O, mus, resize | `crossterm` |
|
|
| TUI-rendering, buffersystem | `ratatui` |
|
|
| Pseudoterminal (PTY/ConPTY) | `portable-pty` |
|
|
| Språk | Rust |
|
|
|
|
## Bygga projektet
|
|
|
|
### Förutsättningar
|
|
|
|
- [Rust toolchain](https://rustup.rs/) (`rustup`, `cargo`)
|
|
- För Windows-cross-kompilering från Linux: `mingw-w64`
|
|
|
|
### Bygga för Linux
|
|
|
|
```bash
|
|
cargo build --release --target x86_64-unknown-linux-gnu
|
|
```
|
|
|
|
### Bygga för Windows
|
|
|
|
```bash
|
|
cargo build --release --target x86_64-pc-windows-gnu
|
|
```
|
|
|
|
Binärerna hamnar i `target/<target>/release/`.
|
|
|
|
### Via VS Code
|
|
|
|
Använd `Terminal > Run Task` och välj:
|
|
- **Build Linux** — bygger för `x86_64-unknown-linux-gnu`
|
|
- **Build Windows** — bygger för `x86_64-pc-windows-gnu`
|
|
- **Build (native)** — bygger för det platform du sitter på
|
|
- **Run** — kör appen direkt
|
|
|
|
## Projektstruktur
|
|
|
|
```
|
|
TUI-WM/
|
|
├── src/
|
|
│ └── main.rs
|
|
├── .vscode/
|
|
│ └── tasks.json
|
|
├── Cargo.toml
|
|
└── README.md
|
|
```
|