https://github.com/nikitabobko/AeroSpace Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + GitHub 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 * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * 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 }} nikitabobko / AeroSpace Public * * Notifications You must be signed in to change notification settings * Fork 36 * Star 2k * AeroSpace is an i3-like tiling window manager for macOS nikitabobko.github.io/aerospace/guide License MIT license 2k stars 36 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 80 * Pull requests 0 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights nikitabobko/AeroSpace This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main BranchesTags Go to file Code Folders and files Last Last Name Name commit commit message date Latest commit History 752 Commits .github .github .idea .idea AeroSpace.xcodeproj AeroSpace.xcodeproj Sources Sources dev-docs dev-docs docs docs script script xcode-app-bundle-launcher xcode-app-bundle-launcher .editorconfig .editorconfig .gitignore .gitignore .swiftlint.yml .swiftlint.yml Brewfile Brewfile CONTRIBUTING.md CONTRIBUTING.md LICENSE LICENSE Package.resolved Package.resolved Package.swift Package.swift README.md README.md args-grammar.conf args-grammar.conf build-debug.sh build-debug.sh build-docs.sh build-docs.sh build-release.sh build-release.sh build-shell-completion.sh build-shell-completion.sh generate.sh generate.sh install-release.sh install-release.sh project.yml project.yml run-cli.sh run-cli.sh run-debug.sh run-debug.sh run-tests.sh run-tests.sh View all files Repository files navigation * README * MIT license [icon] AeroSpace Beta Build AeroSpace is an i3-like tiling window manager for macOS * YouTube Demo * AeroSpace Guide * AeroSpace Commands * AeroSpace Config Examples * AeroSpace Goodness Project status Public Beta. Feedback is very much welcome * I encourage you to try AeroSpace and file GitHub issues if something doesn't work for you * I already use AeroSpace on daily basis and I'm happy with it * The documentation covers all major things you need to know Key features * Manual tiling window manager based on a tree paradigm * i3 inspired * AeroSpace employs its own emulation of virtual workspaces instead of relying on native macOS Spaces due to their considerable limitations * Plain text configuration (dotfiles friendly). See: default-config.toml * CLI scriptable * Doesn't require disabling SIP (System Integrity Protection) * Proper multi-monitor support (i3-like paradigm) * Status menu icon displays current workspace name Installation Install via Homebrew to get autoupdates (Preferred) brew install --cask nikitabobko/tap/aerospace Manual installation Note By using AeroSpace, you acknowledge that it's not notarized. Notarization is a "security" feature by Apple. You send binaries to Apple, and they either approve the binaries or not. In reality, notarization is about building binaries the way Apple likes it. Let's be honest. Tiling window manager is not something Apple will be totally ok with. Even if they approve one version, it doesn't mean that they won't revoke it (yes, they can do it), or approve further versions. I don't have anything against notarization as a concept. I specifically don't like the way Apple does notarization. I don't have time to fight Apple. Homebrew installation script is configured to automatically delete com.apple.quarantine attribute, that's why the app should work out of the box, without any warnings that "Apple cannot check AeroSpace for malicious software" Contributing, creating issues, submitting pull requests See: CONTRIBUTING.md Development A notes on how to setup the project, build it, how to run the tests, etc. can be found here: dev-docs/development.md Values of the project Values * AeroSpace is targeted at advanced users and developers * Keyboard centric * Breaking changes (configuration files, CLI, behavior) are avoided as much as possible, but it must not let the software stagnate. Thus breaking changes can happen, but with careful considerations and helpful message. Semver major version is bumped in case of a breaking change (It's all guaranteed once AeroSpace reaches 1.0 version, until then breaking changes just happen) * AeroSpace doesn't use GUI, unless necessarily + AeroSpace will never provide a GUI for configuration. For advanced users, it's easier to edit a configuration file in text editor rather than navigating through checkboxes in GUI. + Status menu icon is ok, because visual feedback is needed * Provide practical features. Fancy appearance features are not practical (e.g. window borders, transparency, etc) * If "dark magic" (aka "private APIs", "code injections", etc) can be avoided, it must be avoided + Right now, AeroSpace uses only a single private API to get window ID of accessibility object _AXUIElementGetWindow. Everything else is macOS public accessibility API. + AeroSpace will never require you to disable SIP (System Integrity Protection). For example, yabai requires you to disable SIP to use some of its features. AeroSpace will either find another way (such as emulation of workspaces) or will not implement this feature at all (window transparency and window shadowing are not practical features) Non Values * Play nicely with existing macOS features. If limitations are imposed then AeroSpace won't play nicely with existing macOS features + E.g. AeroSpace doesn't acknowledge the existence of macOS Spaces, and it uses emulation of its own workspaces Tip of the day defaults write -g NSWindowShouldDragOnGesture YES Now, you can move windows by holding ctrl+cmd and dragging any part of the window (not necessarily the window title) Source: reddit Related projects * Amethyst * yabai About AeroSpace is an i3-like tiling window manager for macOS nikitabobko.github.io/AeroSpace/guide Topics macos mac i3 tiling window-manager tiling-window-manager i3wm Resources Readme License MIT license Activity Stars 2k stars Watchers 12 watching Forks 36 forks Report repository Releases 29 tags Sponsor this project Sponsor Learn more about GitHub Sponsors Packages 0 No packages published Contributors 11 * @nikitabobko * @sigfriedCub1990 * @MatthiasGrandl * @gobijan * @bashor * @simonacca * @wojciech-kulik * @NilsBarlaug * @binamkayastha * @XOR-op * @jhongyu Languages * Swift 96.9% * Shell 2.9% * Other 0.2% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.