asmvik/yabai

A tiling window manager for macOS based on binary space partitioning

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 22 seconds ago
Added to GitGenius on September 1st, 2026
Created on May 4th, 2019
Open Issues & Pull Requests: 252 (+0)
GitHub issues: Enabled
Number of forks: 745
Total Stargazers: 29,565 (+1)
Total Subscribers: 104 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

yabai is a tiling window manager for macOS that uses binary space partitioning to automatically arrange windows.

The tool addresses the problem of manual window management on macOS by automatically organizing open windows into a tiled layout. Rather than dragging windows to specific positions, yabai partitions screen space recursively and places windows within those partitions, allowing you to focus on content rather than window arrangement. It operates as an extension to macOS's built-in window manager, controlled through a command line interface that can be bound to keyboard shortcuts using skhd or other third-party software.

yabai suits developers and power users who spend significant time managing multiple windows and prefer keyboard-driven workflows. It works best for those already comfortable with tiling window managers on Linux or other systems who want similar functionality on macOS. The tool includes features beyond basic tiling: focus-follows-mouse support, space animation disabling, and the ability to create workspaces beyond macOS's standard 16-space limit. The project provides sample configuration files and detailed documentation to guide setup and customization.

The project maintains active engagement with its user base through documentation and examples. Development includes regular updates tracked in a changelog. The tool has established infrastructure for community contribution and support, with a wiki providing installation guidance across multiple methods and detailed uninstallation procedures. The project acknowledges specific requirements and caveats that users should understand before adoption, indicating attention to setting proper expectations.