Active X11 Started 2025

Tiling, Floating ยท Window Manager

plwm

plwm is a highly customizable X11 dynamic tiling window manager written in Prolog.

Developed by
plwm Screenshot
Status
Paradigm
Server
Written in
GPU

Overview

About plwm

About

plwm is a highly customizable X11 dynamic tiling window manager written in Prolog.

Main goals of the project are: high code & documentation quality; powerful yet easy customization; covering most common needs of tiling WM users; and to stay small, easy to use and hack on.

Powered by SWI-Prolog

Porting to Scryer Prolog, a Rust-powered ISO Prolog implementation, is underway too! (discussion, PR)

2025.11.14: plwm was presented at Scryer Prolog Meetup 2025. Slides are uploaded in ODP and PDF.

Feature highlights

  • Easy to hack on, great way to introduce yourself to the logic programming paradigm and Prolog
  • Easy to configure: Prolog is declarative, so even though the config is source code, it feels like a dedicated format
  • Tiling is dynamic, with various layouts included by default: monocle, vertical/horizontal stacks, grid, left/right/top/bottom/centered master-stack, nrows(N), ncols(N)
  • Floating windows are also supported (move/resize with mouse)
  • Support for external bars, e.g. polybar, lemonbar
  • Nice level of EWMH compilance - partially still work-in-progress
  • Performance: plwm is fast and light as a feather when it comes to resource usage (10-15 MB memory)
  • Dynamic workspace operations: create, rename, reindex or delete workspaces on the fly
  • Other features: multi-monitor support, inner/outer gaps, menu integrations with dmenu/rofi, rules, hooks, animations, command fifo and more
  • You can say: "My window manager is a semantic consequence of a set of axioms and implications which my computer is deducing/proving from an infinitely branching proof-tree"
01

Notable features

Prolog configuration,multiple layouts,workspaces,multi-monitor support,EWMH hints,hooks and FIFO scripting

Gallery

Screenshots

Screenshot viewer