awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
baskerville avatar

baskerville/bspwm

0
View on GitHub↗
8,274 stars·438 forks·C·BSD-2-Clause·27 views

Bspwm

bspwm is an X11 tiling window manager that organizes application windows into non-overlapping rectangular tiles using binary space partitioning. It treats the screen as a tree of rectangular regions to automatically manage window placement and is compliant with Extended Window Manager Hints.

The project is distinguished by a socket-based window controller, which allows layout changes and configuration settings to be updated via a communication socket rather than through a built-in configuration file.

It provides independent window tree management for each detected monitor, treating every display as a distinct desktop container. The layout engine partitions screen real estate using split types and ratios, utilizing node-based insertion to place new windows into the hierarchy.

The system maintains compatibility with Xinerama, RandR, and ICCCM protocols to ensure integration with standard system tools.

Features

  • Tiling Window Managers - A window manager for X11 that organizes application windows into non-overlapping rectangular tiles using binary space partitioning.
  • Binary - Uses a binary space partitioning tree to automatically organize application windows into non-overlapping rectangular tiles.
  • Multi-Monitor Workspace Managers - Manages independent window trees and desktops across several physical displays.
  • Per-Monitor Workspace Stacks - Maintains independent window tree structures and workspace stacks for each detected physical monitor.
  • Binary Tree Layout Engines - Organizes windows as leaves of a binary tree to partition the screen into rectangular regions using split types and ratios.
  • Binary - Treats the screen as a tree of rectangular regions to automatically manage window placement.
  • Socket-Based Configuration - Provides a dedicated communication socket for updating layout changes and configuration settings in real time.
  • Socket-Based Window Controllers - Updates window layouts and configuration settings via a communication socket instead of a built-in config file.
  • X11 Protocol Implementations - Implements X11 protocols including RandR, Xinerama, EWMH, and ICCCM to ensure compatibility with system tools.
  • Dynamic Layout Engines - Allows changing window arrangements and system configurations in real time via a socket-based control engine.
  • Binary Space Partitioning - Arranges windows using a binary tree structure to split screen regions into precise rectangular areas.
  • Window Managers - Implements Extended Window Manager Hints (EWMH) to ensure compatibility with system pagers and task switchers.
  • Dynamic Window Insertion - Determines how new windows are placed into the layout tree using predefined insertion modes.
  • Desktop Screen Partitioning - Divides available screen real estate into smaller segments using split types and ratios defined within the binary tree.
  • Desktop Environment Components - Provides the core window management component for a customized X11-based Linux desktop environment.
  • Node-Based Layout Insertion - Places new windows into the layout hierarchy using specific split modes and coordinate-based insertion points.
  • Window Managers - Tiling window manager using a binary tree layout.

Star history

Star history chart for baskerville/bspwmStar history chart for baskerville/bspwm

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Bspwm

Similar open-source projects, ranked by how many features they share with Bspwm.
  • yalter/niriYaLTeR avatar

    YaLTeR/niri

    25,282View on GitHub↗

    Niri is a Wayland compositor that provides a desktop environment for Linux. Its primary purpose is to implement a scrollable tiling window management system, which organizes application windows in a non-overlapping layout that allows horizontal scrolling to access content beyond the screen edge. The compositor features multi-monitor workspace coordination, managing window arrangements and fractional scaling across displays with different resolutions and pixel densities. It supports a dynamic workspace organization model where independent vertical workspace stacks are maintained per monitor.

    Rust
    View on GitHub↗25,282
  • paperwm/paperwmpaperwm avatar

    paperwm/PaperWM

    4,170View on GitHub↗

    PaperWM is a tiling window manager and multi-monitor workspace manager implemented as a GNOME Shell extension. It organizes application windows into a non-overlapping, scrollable horizontal tiling layout, allowing users to manage more applications than can fit on a single screen. The system is distinguished by its scrollable-viewport tiling, which allows navigation through a sequence of windows via keyboard shortcuts and touchpad gestures. It also features a multi-monitor workspace organization model that assigns independent tiling instances to each physical display while synchronizing them t

    JavaScript
    View on GitHub↗4,170
  • i3/i3i3 avatar

    i3/i3

    10,489View on GitHub↗

    i3 is a configurable tiling window manager for the X11 window system. It organizes application windows into non-overlapping tiles to maximize screen real estate, utilizing a dynamic layout engine that removes the need for manual positioning or resizing. The system is designed for keyboard-driven desktop workflows, where window organization and behavior are defined through a plain text configuration file. It enables X11 desktop customization by allowing users to programmatically define layouts and keybindings. The manager provides inter-process communication via a Unix domain socket, allowing

    C
    View on GitHub↗10,489
  • ianyh/amethystianyh avatar

    ianyh/Amethyst

    16,009View on GitHub↗

    Amethyst is a tiling window manager for macOS designed to automate the arrangement of application windows. It functions as a productivity utility that organizes windows into non-overlapping layouts, allowing users to manage their desktop environment through keyboard-driven controls rather than manual mouse interaction. The application distinguishes itself by providing a state-machine engine that calculates window geometry based on user-defined tiling patterns. It maintains an accurate representation of the desktop by monitoring system-level notifications for window events, enabling it to auto

    Swiftmacmacoswindow-manager
    View on GitHub↗16,009
See all 30 alternatives to Bspwm→

Frequently asked questions

What does baskerville/bspwm do?

bspwm is an X11 tiling window manager that organizes application windows into non-overlapping rectangular tiles using binary space partitioning. It treats the screen as a tree of rectangular regions to automatically manage window placement and is compliant with Extended Window Manager Hints.

What are the main features of baskerville/bspwm?

The main features of baskerville/bspwm are: Tiling Window Managers, Binary, Multi-Monitor Workspace Managers, Per-Monitor Workspace Stacks, Binary Tree Layout Engines, Socket-Based Configuration, Socket-Based Window Controllers, X11 Protocol Implementations.

What are some open-source alternatives to baskerville/bspwm?

Open-source alternatives to baskerville/bspwm include: yalter/niri — Niri is a Wayland compositor that provides a desktop environment for Linux. Its primary purpose is to implement a… paperwm/paperwm — PaperWM is a tiling window manager and multi-monitor workspace manager implemented as a GNOME Shell extension. It… i3/i3 — i3 is a configurable tiling window manager for the X11 window system. It organizes application windows into… ianyh/amethyst — Amethyst is a tiling window manager for macOS designed to automate the arrangement of application windows. It… airblader/i3 — i3 is an X11 tiling window manager for Linux that organizes application windows into a non-overlapping grid to… awesomewm/awesome — Awesome is a programmable tiling window manager for the X11 Window System. It functions as a dynamic window manager…