When comparing bspwm vs tmux, the Slant community recommends bspwm for most people. In the question“What are the best tiling window managers for Linux?” bspwm is ranked 2nd while tmux is ranked 11th. The most important reason people chose bspwm is:
It has a low footprint.
Ranked in these QuestionsQuestion Ranking
Pro Very lightweight
It has a low footprint.
Pro Very flexible
The keyboard shortcut are handled by another module so it's easy to use other inputs. The configuration is also simple.
Pro Based on binary space partitioning
The windows tiling is handled as the leaves of a full binary tree. This makes it easy to partition as you like.
Pro Drag&drop / Mouse support for resize/move
You can resize, switch panes, and resize tiles via the mouse.
Pro Open source
It's open source
Pro Live configuration updates
No need to restart for updating configurations.
Pro Simple, adheres to the UNIX philosophy
Configuration takes much less work than in similar window managers. Hotkey binding is handled by a separate utility, sxhkd.
Pro Simple interface
All actions of the window manager (like opening or resizing a window, changing the workspace, etc.) are handled by a program called bspc, which communicates with bspwm over a socket connection. The config file is just a shell executable making calls to that program. This makes it very easy to write your own scripts to handle bspwm's behavior.
Pro Easily scriptable / modular
All window management is done via the bspc command allowing for easy scripting and extensibility. This also means your sxhkd keybinds can be ported elsewhere without being tied to the wm.
Pro Adherent to the Linux philosophy: Do one thing and do it right
Pro Comes without a compositor
You can to choose which compositor you want! A popular one is compton.
Out of the box it "Lacks transparency support" but if you choose to add compton then you can have transparency, blur etc.
Pro Easily split panes
There is a keyboard shortcut that makes it easy to split a window and create more panes.
Pro Mouse support
Mouse support can optionally be enabled, allowing e.g. scrolling with the mouse wheel, or switching panes with mouse clicks.
Pro Maximize screen space
As a tiling window manager, it'll make use of all the space. As you have multiple workspaces and you can resize, etc. you can adjust to see what matters most.
Pro Windows linked to sessions
tmux calls the individual shell instances windows. They are displayed like tabs in the status line. These windows can be shared between different sessions, so that any given shell instance can be in any number of tmux sessions used for different purposes or by different users. This allows configurations like the following example: User A: wAB, wA1, wA2; User B: wB1, wAB, wB2
Pro Preserve the state
As long as you don't close your session, you may even lose your SSH connection, it'll keep your state just as it was. So you can resume where you left off (via
Pro Frequently updated
Tmux is in a state of constant development. Updates are frequent and bug reports usually get an answer within days.
Pro Only need to learn a few keyboard shortcuts and commands to make much headway
Con Poorly documented
Compared to something like i3 for example, a user following through i3's documentation is basically guaranteed to get a working desktop suited to their needs. Setting up bspwm is much more of a headache due to developers assuming things are clearer than they are.
Con Lacks transparency support
Like most window managers there is no built in compositing, which means no transparencies.
Con Poorly designed key binding
Counter-intuitive keyboard shortcuts make tmux very hard to use and learn.
Con Bad scrolling support
Con No builtin telnet or serial support
It's considered bloat by the maintainers and for this reason there's no builtin support for them.