https://github.com/koekeishiya/yabai Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} koekeishiya / yabai Public * * Notifications * Fork 602 * Star 19.2k A tiling window manager for macOS based on binary space partitioning License MIT license 19.2k stars 602 forks Activity Star Notifications * Code * Issues 271 * Pull requests 12 * Discussions * Actions * Wiki * Security * Insights Additional navigation options * Code * Issues * Pull requests * Discussions * Actions * Wiki * Security * Insights koekeishiya/yabai This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 4 branches 61 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/k] Use Git or checkout with SVN using the web URL. [gh repo clone koekei] Work fast with our official CLI. Learn more about the CLI. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @koekeishiya koekeishiya update caveats for macOS Sonoma.. ... 9fffe01 Nov 17, 2023 update caveats for macOS Sonoma.. 9fffe01 Git stats * 1,310 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github assets doc examples scripts src .gitignore CHANGELOG.md LICENSE.txt README.md makefile View code About Installation and Configuration Requirements and Caveats License and Attribution Disclaimer README.md Banner Tiling window management for the Mac. License Badge Documentation Badge Wiki Badge Changelog Badge Version Badge About Screenshot yabai is a window management utility that is designed to work as an extension to the built-in window manager of macOS. yabai allows you to control your windows, spaces and displays freely using an intuitive command line interface and optionally set user-defined keyboard shortcuts using / skhd and other third-party software. The primary function of yabai is tiling window management; automatically modifying your window layout using a binary space partitioning algorithm to allow you to focus on the content of your windows without distractions. Additional features of yabai include focus-follows-mouse, disabling animations for switching spaces, creating spaces past the limit of 16 spaces, and much more. Installation and Configuration * The / yabai wiki has both brief and detailed installation instructions for multiple installation methods, and also explains how to uninstall yabai completely. * Sample configuration files can be found in the / examples directory. Refer to the / documentation or the wiki for further information. * Keyboard shortcuts can be defined with / skhd or any other suitable software you may prefer. Requirements and Caveats Please read the below requirements carefully. Make sure you fulfil all of them before filing an issue. Requirement Note Operating System Intel Big Sur 11.0.0+, Monterey 12.0.0+, Ventura x86-64 13.0.0+, and Sonoma 14.0.0 is supported. Operating System Apple Monterey 12.0.0+, Ventura 13.0.0+, and Sonoma Silicon 14.0.0 is supported. yabai must be given permission to utilize the Accessibility API Accessibility API and will request access upon launch. The application must be restarted after access has been granted. yabai must be given Screen Recording permission if and only if you want to enable Screen Recording window animations, and will request access when necessary. The application must be restarted after access has been granted. System Preferences In the Mission Control pane, the setting (macOS 11.x, 12.x) "Displays have separate Spaces" must be enabled. System Settings (macOS In the Desktop & Dock tab, inside the Mission 13.x, 14.x) Control pane, the setting "Displays have separate Spaces" must be enabled. Please also take note of the following caveats. Caveat Note System Integrity Protection can be (partially) disabled for yabai to inject a scripting addition into Dock.app for System Integrity Protection controlling windows with functions that (Optional) require elevated privileges. This enables control of the window server, which is the sole owner of all window connections, and enables additional features of yabai. When building from source (or installing from HEAD), it is necessary to codesign Code Signing the binary so it retains its accessibility and automation privileges when updated or rebuilt. In the Mission Control pane, the setting System Preferences (macOS "Automatically rearrange Spaces based on 11.x, 12.x) most recent use" should be disabled for commands that rely on the ordering of spaces to work reliably. In the Desktop & Dock tab, inside the Mission Control pane, the setting System Settings (macOS "Automatically rearrange Spaces based on 13.x, 14.x) most recent use" should be disabled for commands that rely on the ordering of spaces to work reliably. In the Desktop & Dock tab, inside the Desktop & Stage Manager pane, the setting System Settings (macOS "Show Items On Desktop" should be enabled 14.x) for display and space focus commands to work reliably in multi-display configurations. In the Desktop & Dock tab, inside the Desktop & Stage Manager pane, the setting System Settings (macOS "Click wallpaper to reveal Desktop" 14.x) should be set to "Only in Stage Manager" for display and space focus commands to work reliably. License and Attribution yabai is licensed under the / MIT License, a short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code. Thanks to @fools-mate for creating a logo and banner for this project and making them available for free. Thanks to @dominiklohmann for contributing great documentation, support, and more, for free. Disclaimer Use at your own discretion. I take no responsibility if anything should happen to your machine while trying to install, test or otherwise use this software in any form. You acknowledge that you understand the potential risk that may come from disabling / System Integrity Protection on your system, and I make no recommendation as to whether you should or should not disable System Integrity Protection. About A tiling window manager for macOS based on binary space partitioning Resources Readme License MIT license Activity Stars 19.2k stars Watchers 102 watching Forks 602 forks Report repository Releases 61 v6.0.1 Latest Nov 12, 2023 + 60 releases Sponsor this project * patreon patreon.com/aasvi Packages 0 No packages published Contributors 4 * * * * Languages * C 81.6% * Objective-C 17.8% * Other 0.6% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact You can't perform that action at this time.