Upload files to "/"
This commit is contained in:
commit
41a4341e71
7 changed files with 1024 additions and 0 deletions
88
README.md
Normal file
88
README.md
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
# dxdwm - BE AWARE OF VIBECODING
|
||||
|
||||
`dxdwm` is a small X11 window manager written in Rust.
|
||||
|
||||
## What it does
|
||||
|
||||
- Becomes the active X11 window manager via `SubstructureRedirect`.
|
||||
- Manages top-level windows and keeps them focusable/raiseable.
|
||||
- Default launcher keybind: **Super (Windows key)** runs:
|
||||
- `rofi -show drun`
|
||||
- Terminal keybind: **Alt+Enter** runs:
|
||||
- `alacritty`
|
||||
- Window control keybinds:
|
||||
- `Alt+Q` closes the focused window.
|
||||
- `Alt+W` cycles focus through managed windows (tab-like).
|
||||
- `Alt+Space` toggles between floating mode and single-window tabbed mode.
|
||||
- Mouse bindings:
|
||||
- `Alt + Left Mouse Drag` moves windows.
|
||||
- `Alt + Right Mouse Drag` resizes windows.
|
||||
|
||||
## Project layout
|
||||
|
||||
- `Cargo.toml` - dependency manifest.
|
||||
- `src/main.rs` - window manager implementation.
|
||||
- `scripts/run_xephyr.sh` - optional nested X11 runner for Linux.
|
||||
|
||||
## Notes
|
||||
|
||||
- This is intended for X11 Linux sessions.
|
||||
- On macOS, this can be edited but not realistically run as an X11 session WM.
|
||||
- `rofi` must be installed and in `PATH` for the launcher binding.
|
||||
- `DXDWM_LAUNCHER` can override launcher command (default: `rofi -show drun`).
|
||||
- `DXDWM_TERMINAL` can override terminal command (default: `alacritty`).
|
||||
- On startup, dxdwm runs `$HOME/.config/dxdwm/dxdwm.sh`; it is auto-created if missing.
|
||||
|
||||
## License
|
||||
|
||||
GPL-3.0-only
|
||||
|
||||
## Build (Linux/X11 host)
|
||||
|
||||
```bash
|
||||
cargo build --release
|
||||
```
|
||||
|
||||
## Run from tty via `startx` (standalone WM)
|
||||
|
||||
Create `~/.xinitrc`:
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env sh
|
||||
export PATH="$HOME/.cargo/bin:/usr/local/bin:/usr/bin:/bin"
|
||||
# Optional overrides:
|
||||
# export DXDWM_TERMINAL="kitty"
|
||||
# export DXDWM_LAUNCHER="rofi -show drun"
|
||||
exec /absolute/path/to/dxdwm/target/release/dxdwm
|
||||
```
|
||||
|
||||
Then from a Linux tty (not from inside another WM):
|
||||
|
||||
```bash
|
||||
chmod +x ~/.xinitrc
|
||||
startx
|
||||
```
|
||||
|
||||
## Run as WM from an existing X session
|
||||
|
||||
```bash
|
||||
exec /absolute/path/to/dxdwm/target/release/dxdwm
|
||||
```
|
||||
|
||||
## Quick input checks
|
||||
|
||||
Inside dxdwm, verify:
|
||||
|
||||
- `Alt + Left Mouse Drag` moves windows.
|
||||
- `Alt + Right Mouse Drag` resizes windows.
|
||||
- `Alt + Enter` launches your terminal.
|
||||
- Pressing `Super` launches your app launcher.
|
||||
|
||||
## Optional nested run (Linux with Xephyr)
|
||||
|
||||
```bash
|
||||
./scripts/run_xephyr.sh
|
||||
```
|
||||
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue