# tmux or a window manager on a Mac?

Source: https://ribbonformac.com/tmux-vs-window-manager-mac  
Updated: 2026-10-29

tmux arranges terminals inside one terminal window and keeps sessions alive when you disconnect, which matters most on remote machines. A window manager arranges every window on your Mac, terminals, browsers and editors alike. If all your work is in a terminal, tmux alone can be enough. If you mix terminals with GUI apps, you want a window manager, and many people use both.

## What each one does

| | tmux | Window manager |
| --- | --- | --- |
| Arranges | Panes inside one terminal window | Every app's windows on screen |
| Survives disconnect | Yes: detach, reattach later, even over SSH | No; it arranges, it doesn't host |
| Works over SSH | Yes, and that's its main strength | Only arranges the local terminal window |
| Mixes in GUI apps | No | Yes |
| Config | `~/.tmux.conf` | Varies: a file or a settings window |

## When tmux alone is enough

- You work mostly on remote servers and need sessions that survive a dropped connection.
- Your whole workflow is terminal programs: Neovim, a shell, a test runner, `htop`.
- You want the same layout on any machine you SSH into.

Install it with `brew install tmux`. The prefix is <kbd>⌃</kbd><kbd>B</kbd> by default; many people move it to <kbd>⌃</kbd><kbd>A</kbd> or <kbd>⌃</kbd><kbd>Space</kbd>.

## When you want a window manager

- You keep a browser, docs, chat or an IDE open alongside terminals.
- You want terminals as separate Mac windows so <kbd>⌘</kbd><kbd>`</kbd>, Mission Control and screen sharing see them individually.
- You run several long-lived terminals locally (servers, agents, logs) and want each at a readable size. See [arrange terminal windows on a Mac](https://ribbonformac.com/arrange-terminal-windows-mac).

## Using both

The common split of jobs:

- **tmux on remote machines** for persistence, often just one or two panes.
- **The window manager locally** for everything else, including the terminal windows that host those tmux sessions.

Two things keep them from tripping over each other:

1. **Different modifiers.** tmux uses a <kbd>⌃</kbd>-key prefix and then a plain key. A window manager on <kbd>⌃</kbd><kbd>⌥</kbd> or a [Hyper key](https://ribbonformac.com/hyper-key-mac) never collides with it.
2. **Same direction keys.** Bind tmux pane movement to prefix plus <kbd>H</kbd>/<kbd>J</kbd>/<kbd>K</kbd>/<kbd>L</kbd>, and use <kbd>H</kbd>/<kbd>J</kbd>/<kbd>K</kbd>/<kbd>L</kbd> with the window manager's modifier for windows. Same muscle memory, two levels.

A minimal `~/.tmux.conf` for that:

```
set -g mouse on
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
```

## Ribbon alongside tmux

[Ribbon](https://ribbonformac.com/) is a scrolling window manager whose defaults are <kbd>⌃</kbd><kbd>⌥</kbd><kbd>H</kbd>/<kbd>J</kbd>/<kbd>K</kbd>/<kbd>L</kbd> for focus and <kbd>⌃</kbd><kbd>⌥</kbd><kbd>⇧</kbd> plus the same keys to move windows, so it sits one level above tmux's prefix-hjkl without clashing. Each terminal window gets its own column on a horizontal strip, next to your browser and editor columns; opening another terminal adds a column instead of shrinking the rest. Stacks (<kbd>⌃</kbd><kbd>⌥</kbd><kbd>]</kbd>) put two terminal windows in one column, top and bottom, which covers the "two panes" case without tmux if you're working locally. [Try it in the live demo](https://ribbonformac.com/#demo); [pricing](https://ribbonformac.com/#pricing) is $9.99 once.

## FAQ

### Do I need tmux on a Mac?

Not for local work if your terminal has splits and tabs, or you use a window manager. tmux earns its place on remote machines and for sessions that must survive disconnects.

### Can tmux replace a tiling window manager?

Only for terminal programs. It can't arrange a browser or an editor that isn't running in the terminal.

### Will window manager shortcuts conflict with tmux?

Not if the window manager uses a different modifier, such as <kbd>⌃</kbd><kbd>⌥</kbd> or a Hyper key. tmux's prefix is a single <kbd>⌃</kbd> combination followed by a plain key.

## Keep reading
- [Arrange terminal windows](https://ribbonformac.com/arrange-terminal-windows-mac) — Tabs, splits and windows in each terminal, and keeping many sessions visible at once.
- [Vim keys for windows](https://ribbonformac.com/vim-keys-window-management-mac) — hjkl for focus and moving windows, the right modifier, and Vim keys beyond the editor.
- [Mac setup for DevOps and SRE](https://ribbonformac.com/mac-setup-for-devops) — CLIs, containers on Apple silicon, Kubernetes tools, SSH, and a layout for incidents.
- [i3 for Mac](https://ribbonformac.com/i3-for-mac) — No i3 or sway on macOS. Match the i3 habit you miss to the right Mac tiler.
- [Linux keyboard habits on Mac](https://ribbonformac.com/linux-keyboard-shortcuts-on-mac) — Super, Ctrl and Cmd, terminal keys, Emacs bindings, remapping, and a WM layer.
