malbiruk/driftwm

Public

A trackpad-first infinite canvas Wayland compositor.

  • Stars1.8k+10 tuần này
  • Forks77
  • Watchers14
  • Issues33
  • Ngày tạo23/02/2026
  • Cập nhật gần nhất22/09/2026
  • Ngôn ngữRust
  • Giấy phép—
README.md40.6 KBRaw

driftwm

A trackpad-first infinite canvas Wayland compositor.

License: GPL-3.0-or-later GitHub Release Packaging status

Primary repository: GitHub · Mirror: Codeberg

demo.mp4

Traditional window managers arrange windows to fit your screen. Stacking compositors do so by piling windows on top of each other; tiling compositors do so by squeezing them to fit and utilizing workspaces.

driftwm is an infinite-canvas compositor: windows live at their native size on an infinite 2D canvas, and your display is a camera viewing it. When two windows come close, they snap together, forming implicit groups that can be moved, resized, and viewed together. No tiling, no workspaces, window overlaps happen only on purpose.

Designed with laptops in mind: navigation and window management are trackpad-first; the infinite canvas makes the most of a small screen.

Built on smithay. Inspired by vxwm; borrows implementation details from niri.

Warning

This is experimental software, primarily built with AI.

Features

Pan & zoom

pan_zoom.mp4

Infinite 2D canvas with viewport panning, zoom, and scroll momentum. A quick flick carries the viewport smoothly until friction stops it.

Pan & zoom bindings
Input Action Context
3-finger swipe Pan viewport anywhere
Trackpad scroll Pan viewport on-canvas
Mod + LMB drag Pan viewport anywhere
Mod+Ctrl + arrow Pan viewport —
2-finger pinch Zoom on-canvas
3-finger pinch Zoom anywhere
Mouse wheel Zoom on-canvas
Mod + scroll Zoom at cursor anywhere
Mod+= / Mod+- Zoom in / out —
Mod+0 / Mod+Z Reset zoom to 1.0 —

Window navigation

navigation.mp4

Jump to the nearest window in any direction. MRU cycling (Alt-Tab) with hold-to-commit. Zoom-to-fit shows all windows at once. Configurable anchors act as navigation targets for directional jumps even with no window there — useful for areas with pinned widgets. Bookmarks: named canvas spots the camera jumps straight to.

Navigation bindings
Input Action
4-finger swipe

Nội dung README thuộc về malbiruk và cộng đồng đóng góp, giấy phép Không có giấy phép. Nguồn: github.com/malbiruk/driftwm