rooms README

The project's README from github.com/saragordic/rooms. As one markdown file: README.md.

Rooms

A little Mac app I made for switching between projects.

Every project is a room: a set of windows and a layout. Press ⌥Space, type the room's name, and your windows come back, laid out neatly. Everything else hides, and nothing is ever closed.

The Rooms switcher over a tidy desk, listing four rooms: Design, Build, Deep Work and Morning

Get it

You can just send this repo to your coding agent and ask it to install Rooms for you:

Install Rooms on my Mac: https://github.com/saragordic/rooms

Or install it yourself with Homebrew:

brew trust saragordic/tap
brew install --cask saragordic/tap/rooms

Then open Rooms from your Applications folder. It lives in the menu bar.

You can also grab the latest ZIP from Releases, unzip it, and drag Rooms.app into Applications. The app isn't notarized by Apple yet, so macOS blocks the first launch of the ZIP version: open System Settings → Privacy & Security → Open Anyway after trying to launch it. Apple's instructions explain this step. (The Homebrew version opens straight away.)

Rooms needs Accessibility access to move windows. Turn it on in System Settings → Privacy & Security → Accessibility when it asks. After an update, macOS may ask again: remove Rooms from that list and add it back.

Make your first room

  1. Open the windows a project needs.
  2. Press ⌥Space, type a name for the room, and press Enter.
  3. Click the windows that belong in it. The number on a card is its place in the layout, and 1 is the main window. Then Create Room.
  4. Press Tab to change the layout. In ⌥Space, select the room and press Tab (⇧Tab goes back): the preview shows each layout that fits your screen, and the room remembers the one you pick.

The windows come to the screen you're on and lay themselves out. From then on, ⌥Space and the room's name (or ⌃⌥1–9) brings it back. Getting Started in the menu shows these steps again.

Around the rooms

Nothing closes

Windows that aren't in the room are hidden, or parked just off-screen when they belong to one of the room's apps. Before a window moves, Rooms writes down where it belongs, and only forgets once the window is back. Show Everything in the menu, quitting Rooms, or opening it again after a crash brings parked windows back; one whose app isn't responding stays recorded and comes back on the next try.

Privacy

Rooms works entirely on your Mac. It makes no network connections of any kind: no accounts, no analytics, no updates checked, nothing sent anywhere.

Your rooms live in ~/Library/Application Support/Rooms/rooms.json, which you can read and edit (Edit Rooms… in the menu). Parked windows are recorded next to it in resting.json, and a log of what Rooms moved stays in ~/Library/Logs/Rooms/rooms.log. These include window titles, so please don't post them unedited in an issue.

A little work in progress

I built this on my Mac and use it all day, but there are still rough edges:

It's built for macOS 14 or later, on Apple Silicon and Intel. I've tested it on Apple Silicon with macOS 26; older macOS versions and Intel Macs haven't had the same hands-on testing.

If something looks wrong, open an issue and tell me your macOS version, Mac model, and whether you're using another screen. Reproduction steps help a lot.

Build it yourself

You'll need Xcode 16 or later (or its Command Line Tools: xcode-select --install).

git clone https://github.com/saragordic/rooms.git
cd rooms
make run

This builds build/Rooms.app and opens it. To keep the Accessibility permission across rebuilds, create a certificate named Rooms Dev in Keychain Access (Certificate Assistant → Create a Certificate → type "Code Signing"); the Makefile uses it when it exists.

Taking it off

Choose Quit Rooms from the menu first: parked windows come back as it quits. Then, if you installed it with Homebrew:

brew uninstall --zap --cask rooms

--zap also removes your rooms and settings. Leave it off to keep them for later.

If you installed it by hand, drag Rooms.app to the Trash, then delete these if you want everything gone:

~/Library/Application Support/Rooms
~/Library/Logs/Rooms
~/Library/Preferences/com.saragordic.rooms.plist

macOS remembers the Accessibility permission separately, so remove Rooms from System Settings → Privacy & Security → Accessibility too.

Contributing

make test      # run the tests for the layout engine
make release   # build the universal Rooms.app and its ZIP

See CONTRIBUTING.md for more details.

License

MIT. See LICENSE.

rooms (saragordic/rooms)

Searching Database…

391 ·GitHub
这是什么?Rooms 是一款用于在项目之间切换的 macOS 应用:每个“房间”是一组带布局的已保存窗口,一个快捷键就能让它们整齐地全部回来,同时隐藏其他所有内容。
这是窗口管理器,还是只是个启动器?它是一个窗口管理器,同时处理窗口布局和切换:它以 Focus、Columns、Grid 或 Stack 等布局排列窗口,并把活动房间之外的窗口停靠或隐藏起来,而不是关闭它们。
怎么安装和设置 Rooms?通过 Homebrew 安装、从 Releases 下载 ZIP 并把 Rooms.app 拖进应用程序文件夹,或者让编程智能体替你安装。然后打开某个项目的窗口,按 ⌥Space,给房间命名,勾选属于它的窗口,按回车。
安装前我需要什么特别的东西吗,比如 Xcode?运行它只需要 macOS 和 Homebrew(或手动 ZIP 安装);只有想自己从源码构建时才需要 Xcode 16 或它的 Command Line Tools。
有什么不完善的地方需要知道?Rooms 管理的是浏览器窗口,不是单独的标签页;有些应用无法缩小到最小尺寸以下,所以 Stack 可能是唯一放得下的布局;Spaces 和全屏窗口不受管理;Stage Manager 与它冲突。ZIP 版本也没有公证,macOS 会阻止首次启动,直到你手动允许。
它在 Intel Mac 上能用吗,还是只支持 Apple 芯片?它支持 Apple 芯片和 Intel 上的 macOS 14+,不过作者只在 Apple 芯片加 macOS 26 上做过实测,所以 Intel 和更旧的 macOS 版本测试较少。
Rooms 会把我的数据发送到任何地方吗?不会。Rooms 完全在你的 Mac 上运行,从不建立网络连接;房间数据和日志以普通 JSON 和日志文件的形式存储在本地,你可以自己查看。
日常切换房间实际是怎么操作的?按 ⌥Space,输入或选择房间名(或用 ⌃⌥1-9),Rooms 就会按保存的布局把那个房间的窗口带到当前屏幕,同时隐藏或停靠其他所有窗口。
我能改变房间内窗口的排列方式吗?可以,在 ⌥Space 里按 Tab 循环切换适合你屏幕的布局(Focus、Columns、Grid、My Layout、Stack),或者手动排列窗口后按 ⌘S,让 Rooms 记住这个精确的排列。
不属于活动房间的窗口会怎样?它们永远不会被关闭,只会被隐藏或停靠在屏幕边缘之外;菜单里的 Show Everything、退出 Rooms 或崩溃后重新打开它,都会把它们全部带回来。
卸载会删掉我所有的房间和设置吗?如果是通过 Homebrew 安装的,卸载时加 --zap 也会删除你的房间和设置;不加这个参数,或者手动把 Rooms.app 拖进废纸篓,则会保留它们以备后用。
Creator
saragordic
Size
0.4 MB
Stars
391
Age
25d
Commits · 90 Days