Code Monkey home page Code Monkey logo

btops's Introduction

btops

bspwm desktop management that supports dymanic appending, removing, and renaming

Introduction

Often times a workflow for a given day can't be defined by a set number of desktops with constant names. Btops enables you to define your workspaces based on what you're doing so you don't have worry about things like putting your applications in their respective desktops, running out of desktops, or leaving desktops unused and empty.

Examples

Dynamic with classified renamers

btops dynamic

btops minmax

Configuration

btops supports config files in toml, json, and yaml format. It'll look in the following places for config files:

$XDG_CONFIG_HOME/btops/config.*
~/.config/btops/config.*

Below are the different configuration options available. Please look at examples for example usage

Configuration Options

Option Type Description Default
min Int Minimum number of desktops per monitor 1
max Int Maximum number of desktops per monitor infinity
remove-empty Bool Removes empty desktops true
append-when-occupied Bool Appends a new desktop when all other desktops are occupied true
watch-config Bool Reload btops on next event when configuration changes true
renamers []String Order of renamers to use for renaming desktops. If a given renamer is unable to rename a desktop, it cascades to the next renmaer ["numeric"]
names Names Names configuration object {}

Renamers

Name Description
numeric Names desktops numerically in increasing order. e.g. 1, 2, 3, 4...
constant Names desktops using the "constant" option in the Names object
static Names desktops according to the static names array
client Names desktops as a space separated string of opened clients
classified Names desktops using the matched classification of opened clients in the names object

Names

names configuration object

Option Type Description
constant String A single string that the constant renamer uses to rename desktops
static []String A list of desktop names that the static renamer uses to rename desktops
classified []{ classification: []String (clients) } An array of objects that match client names with a given classification. If multiple classifications are matched, the first will be used as the desktop name

Installation

  • Ensure go is installed and your $GOPATH is set
  • go get github.com/cmschuetz/btops
  • run $GOPATH/bin/btops

Arch Linux

btops-git is available in the aur

btops's People

Contributors

cmschuetz avatar pawndev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.