Skip to main content

bspc wrapper for python

Project description

bspcpy

It's a wrapper for the bspwm command line utility bspc.

bspwm is an awesome tiling window manager with a bunch of features, but when I need to develop some script that is a bit more advanced, there are not many options other than using a bash script (which I hate). So, to address this problem, I wrote this simple API.

Usage

Since everything has the same names as the original bspc, It should be very easy to use.

For now, I have only implemented the query commands

nodes(selector: str) -> Node_set()
desktops(selector: str) -> set[Desktop]
monitors(selector: str) -> set[Monitor]

and the classes that represent nodes, desktops, and monitors.

All query methods return Python sets, so it is possible to filter the nodes using set notation.

from bspc import query

floating_nodes = query.nodes('.floating')

for node in floating_nodes:
    if 'firefox' in node.name: 
        node.layout = 'tiled'

This snippet finds all floating Firefox windows and puts them in tiled layout.

I wrote an implementation of a scratchpad using bspcpy in the examples folder.

Requirements

Installation

Via pip

python -m pip install bspcpy

Upgrade

python -m pip install --upgrade bspcpy

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bspcpy-1.0.2.tar.gz (5.5 kB view hashes)

Uploaded Source

Built Distribution

bspcpy-1.0.2-py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page