4440ad79bd8f9dc7ea898c3156df161b4456fcca
- Introduced a new `Config` struct for loading application configuration from a TOML file. - Added support for keybindings and panel configurations, including status widgets. - Implemented `PtyTerminal` for handling pseudo-terminal interactions. - Created a rendering module to manage the display of application windows, panels, and dropdowns. - Refactored the main application loop to utilize the new configuration and rendering logic. - Removed legacy code related to event handling and rendering from `main.rs`.
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 (
rustup,cargo) - För Windows-cross-kompilering från Linux:
mingw-w64
Bygga för Linux
cargo build --release --target x86_64-unknown-linux-gnu
Bygga för Windows
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
Description
latest
Latest
Languages
Rust
90.3%
Python
9.7%