bspcq, q for query

A bspc analyzer (utility for bspwm)

This is a small program that prints a user friendly, visual representation, of
your current bsp tree.

The aim is to assist in using bspwm so new users have an easier time getting
into tiling window managers, and have some toys to play with.

It's essentially the same as
running:

bspc query -M -m <monitor-name> | jq

Except there are fewer parameters, a less complex syntax to remember and an
intuitive visual.

Installation

python -m pipx install bspcq

Usage

# Prints the full tree, including output from all monitors.
bspcq
# Provides a simpler view, perfect for finding window class names.
bspcq -s
# Grabs info on all nodes that belong to the specified domain.
bspcq -M/D/N
# Passes through a query to `bspc query` and prints our tree.
bspcq -m/d/n <monitor/desktop/node-identifier>

Preview

2022-01-25_02-17_1
2022-01-25_02-17

Plans

My goals currently are to:

  • Align bspcq as closely as possible with bspc query. I would like for
    bspcq to behave almost identically to bspc query - it just adds a visual
    element.
  • Remain as lean as possible. A nice-to-have feature would be 0 reliance on
    external libraries, so I'd like to remove rich and implement a way to display
    the tree myself.

This was just an afternoon project that's turning into a week long project since
it's quite a lot of fun!

GitHub - aidenlangley/bspcq at pythonawesome.com
A user friendly bspc analyzer. Contribute to aidenlangley/bspcq development by creating an account on GitHub.