Repository navigation
FWM 0.2.0 - Wayland Port
The compositor has been fully ported to Wayland (wlroots 0.20). This is now the primary version — the legacy X11 implementation lives on the x11 branch and is no longer maintained.
Highlights
Real physics
- Windows are simulated by Box2D v3: impulse-based collisions with proper mass ratios, resting contact, stacking and sleeping — no hand-rolled solver artifacts.
- Realistic tuning: Earth gravity (9.8 m/s² at 100 px/m), dull heavy bounces, contact friction, continuous collision (fast throws never tunnel through walls).
- Gravity modes (zero-g / space / Earth), pin, per-window collision toggle, calm-all.
World
- 10 virtual desktops on one continuous strip with a smooth camera.
- Parallax wallpaper: multi-layer PNG/JPEG/WebP backgrounds;
panmode turns one large image into a world you walk across.
Hyprland-style tiling
- Per-desktop dwindle BSP with configurable inner/outer gaps.
- Windows glide into their tiles (~250 ms) instead of teleporting.
- Directional keyboard control: focus (
Super+Arrows), move (Super+Shift+Arrows), flip split (Super+S); mouse border-resize and tile swap.
Visuals
- Focus borders (accent/inactive colors), window fade-in, client transparency.
- Minimal tray: flat chevron-ended islands — window + physics readout, desktop indicators, clock.
- Fake fullscreen (tray stays) and real fullscreen (whole output).
Configuration
Single TOML file (~/.config/fwm/config.toml) covering physics feel, tiling gaps/animation, decoration colors, wallpaper layers and all keybinds. See config.toml.example and the README for the full reference.
Requirements
wlroots 0.20 · wayland · xkbcommon · cairo/pango · gdk-pixbuf · box2d · cmake
🤖 Generated with Claude Code