bspc
Manage windows in a binary space partitioning
TLDR
Define two virtual desktops
Focus the given desktop
Close the windows rooted at the selected node
Send the selected node to the given desktop
Toggle full screen mode for the selected node
Set the value of a specific setting
SYNOPSIS
bspc [OPTIONS] COMMAND [ARGUMENTS]
PARAMETERS
--help
Shows the help message and exits.
--version
Shows the version number and exits.
--socket <path>
Specifies the path to the socket to communicate through (default: /tmp/bspwm_$USER_0)
--verbose
Enables verbose output.
DESCRIPTION
bspc is a binary space partitioning composite (BSPC) manager, a window manager that represents windows as the leaves of a full binary tree. It's a lightweight and highly configurable window manager that allows users to control window placement, sizing, and focus using commands, typically issued via a keyboard shortcut daemon like sxhkd. It provides minimal functionality itself, focusing on the BSP tree management and providing a command interface. Users are expected to configure it extensively to achieve their desired workflow. Window management is highly controllable using commands to manipulate nodes and leaves (windows) in the BSP tree, allowing for fine-grained control over window tiling. Focus follows the binary tree structure, promoting intuitive navigation. Because of it's composable nature, you can pipe bspc commands into each other.
Note: This is a technical window manager, and requires some technical knowledge to get used to.
CAVEATS
Requires an X server and typically relies on a keyboard shortcut daemon (like sxhkd) for practical usage.
COMMANDS
bspc offers a rich set of commands categorized into:
- Node commands: Manipulate individual windows.
- Desktop commands: Manage desktops within a monitor.
- Monitor commands: Configure monitors.
- Query commands: Retrieve information about the state of the window manager.
- Config commands: Modify bspc's configuration settings.
HISTORY
bspc was created by Bas van Beek. It's designed with simplicity and customizability as core principles and has gained popularity for its efficiency and flexibility, becoming a favourite for users seeking precise control over their window management experience. Active development and a dedicated community have contributed to its ongoing refinement and adoption.