Backman is a random/fixed background image setter for wlroots based compositors

Overview

backman

Backman is a random/fixed background image setter for wlroots based compositors

Dependencies:

The program depends on swaybg, python3-toml (or python-toml), python3

Installation:

Meet the required dependencies and run the provided "install" script like this:

sudo ./install   

Prepending the install script with "sudo" or executing in super user environment ensures that it is installed system-wide.

If you are using Arch Linux, there is an AUR package, called "backman". You can install by cloning or using an AUR helper.

Configuration

The configuration for backman resides at ~/.config/backman.toml The configuration follows the toml markup. The configuration contains three options:

  • mode: this parameter can have two values, "fixed" and "random". The "fixed" option is used to have a single image as your background. The "random" option picks a random picture from your specified directories (defined in next configuration paratemer)
  • directories: this paramater is list type. For "random" feature to work, you have to specify directories which would be looked for pictures. Take care that you have to add full path and you can not add such values: "~/Pictures". You have to specify like "/home/user/Pictures"
  • fix_bg: this parameter should contain full path to an image. For "fixed" feature to work, you have to specify a fixed image to be set as background each time

Example configuration 1:
mode = "random"
directories = [ "/home/cat/pix/bg", "/usr/share/backgrounds" ]
fix_bg = "/home/cat/pix/bg/btwarch-black.png"

Example configuration 2: mode = "fixed"
directories = [ "/home/cat/pix/bg", "/usr/share/backgrounds" ]
fix_bg = "/home/cat/pix/bg/btwarch-black.png"

Also note that you can also change these configurations without actually editing the configuration file, itself inside the program. See usage for knowing how.

Usage

usage: backman [-h] [--set] [--return-path]
[--change-mode CHANGE_MODE]
[--set-fix-bg SET_FIX_BG] [--add-dir ADD_DIR]
[--rm-dir RM_DIR]

Set backgrounds in sway and other wlroot based compositors,
either random background image or fixed

optional arguments:
-h, --help show this help message and exit
--set, -s Set the background, either random or
fixed (as specified in configuration)
--return-path, -r Return the path of background that would
be set, either random or fixed
--change-mode CHANGE_MODE, -m CHANGE_MODE
--set-fix-bg SET_FIX_BG, -i SET_FIX_BG
--add-dir ADD_DIR
--rm-dir RM_DIR

  • The --set flag instructs the program to set the background (either fixed or random, as specified in configuration)
  • The --return-path flag instructs the program to return the path of background image to be set (either fixed or random, as specified in configuration)
  • The --change-mode parameter can change the modes between fixed and random
    For example, to change the mode to fixed, you can execute:
backman -m fixed   

To change to random, you can execute:

backman -m random   
  • The --set-fix-bg paramter can be used to set the fixed background image for "fixed" mode.
    For example, to set the image: /home/user/Pictures/1.jpg as fixed background image, you can execute:
backman -i /home/user/Pictures/1.jpg   
  • The --add-dir and --rm-dir can be respectively used to add and remove directories from directories configuration.
    For example, to remove "/home/user/Pictures" directory and add "/usr/share/backgrounds" directory, you can execute:
backman --add-dir /usr/share/backgrounds --rm-dir /home/user/Pictures   

Reminder and tip

The background set by this script (or swaybg) is not persistent across logout and logins. It just disappears after quitting compositor/window manager. To have a persistent feel, add the following command to your autostart script (maybe in your window manager/compositor configuration):

backman -s   

License

This program is licensed under MIT license

Thanks

The project waves out a great thanks to sway team for developing swaybg

You might also like...
An okayish python script to generate a random Euler circuit with given number of vertices and edges.

Euler-Circuit-Test-Case-Generator An okayish python script to generate a random Euler circuit with given number of vertices and edges. Executing the S

A simple and easy to use collection of random python functions.

A simple and easy to use collection of random python functions.

A quick random name generator

Random Profile Generator USAGE & CREDITS Any public or priavte demonstrative usage of this project is strictly prohibited, UNLESS WhineyMonkey10 (http

Random Number Generator Analysis With Python

Random-Number-Generator-Analysis Governor's Honors Program Project to determine

Create password - Generate Random Password with Passphrase

Generate Random Password with Passphrase This is a python code to generate stron

Python Random Number Genrator

This Genrates Random Numbers. This Random Number Generator was made using python. This software uses Time and Random extension. Download the EXE file and run it to get your answer.

Dice Rolling Simulator using Python-random
Dice Rolling Simulator using Python-random

Dice Rolling Simulator As the name of the program suggests, we will be imitating a rolling dice. This is one of the interesting python projects and wi

Color getter (including method to get random color or complementary color) made out of Python

python-color-getter Color getter (including method to get random color or complementary color) made out of Python Setup pip3 install git+https://githu

A (very dirty) experiment to remove layers from a Docker image.

Surgically remove layers from a Docker image (with a chainsaw)

Comments
  • Feature Request - Load from unsplash

    Feature Request - Load from unsplash

    Add an option (or make default?) to make Unsplash api the source of backgrounds. Reference - Random Api - https://source.unsplash.com/random Api Docs - https://unsplash.com/developers

    opened by nickdex 1
Releases(0.4)
Owner
Hemish
Just new to programming and keen to learn more!
Hemish
Simple RGB to HEX game made in python

Simple RGB to HEX game made in python

5 Aug 26, 2022
A python module to update the console without flashing.

A python module to update the console without flashing.

Matthias 112 Dec 19, 2022
Extends the pyranges module with operations on joined genomic intervals

tiedpyranges Extends the pyranges module with operations on joined genomic intervals (e.g. exons of same transcript) Install with: pip install tiedpyr

Marco Mariotti 4 Aug 05, 2022
This project is a set of programs that I use to create a README.md file.

This project is a set of programs that I use to create a README.md file.

Tom Dörr 223 Dec 24, 2022
Build capture utility for Linux

CX-BUILD Compilation Database alternative Build Prerequisite the CXBUILD uses linux system call trace utility called strace which was customized. So I

GLaDOS (G? L? Automatic Debug Operation System) 3 Nov 03, 2022
Modeling Category-Selective Cortical Regions with Topographic Variational Autoencoders

Modeling Category-Selective Cortical Regions with Topographic Variational Autoencoders Getting Started Install requirements with Anaconda: conda env c

T. Andy Keller 4 Aug 22, 2022
Exports the local variables into a global dictionary for later debugging.

PyExfiltrator Julia’s @exfiltrate for Python; Exports the local variables into a global dictionary for later debugging. Installation pip install pyexf

6 Nov 07, 2022
Python based utilities for interacting with digital multimeters that are built on the FS9721-LP3 chipset.

Python based utilities for interacting with digital multimeters that are built on the FS9721-LP3 chipset.

Fergus 1 Feb 02, 2022
async parser for JET

This project is mainly aims to provide an async parsing option for NTDS.dit database file for obtaining user secrets.

15 Mar 08, 2022
腾讯云轻量服务流量超出限制自动关机

LightHouse_Automatic_Shutdown 腾讯云轻量服务流量超出限制自动关机

132 Dec 14, 2022
Random Number Generator Analysis With Python

Random-Number-Generator-Analysis Governor's Honors Program Project to determine

Jack Prewitt 2 Jan 23, 2022
Tools for binary data on cassette

Micro Manchester Tape Storage Tools for storing binary data on cassette Includes: Python script for encoding Arduino sketch for decoding Eagle CAD fil

Zack Nelson 28 Dec 25, 2022
A repository containing several general purpose Python scripts to automate daily and common tasks.

General Purpose Scripts Introduction This repository holds a curated list of Python scripts which aim to help us automate daily and common tasks. You

GDSC RCCIIT 46 Dec 25, 2022
Python 3 script unpacking statically x86 CryptOne packer.

Python 3 script unpacking statically x86 CryptOne packer. CryptOne versions: 2021/08 until now (2021/12)

5 Feb 23, 2022
Backman is a random/fixed background image setter for wlroots based compositors

backman Backman is a random/fixed background image setter for wlroots based compositors Dependencies: The program depends on swaybg, python3-toml (or

Hemish 3 Mar 09, 2022
Attempts to crack the compression puzzle.

The Compression Puzzle One lovely Friday we were faced with this nice yet intriguing programming puzzle. One shall write a program that compresses str

Oto Brglez 14 Dec 29, 2022
Various importers for cointracker

cointracker_importers Various importers for cointracker To convert nexo .csv format to cointracker .csv format: Download nexo csv file. run python Nex

Stefanos Anastasiou 9 Oct 24, 2022
A primitive Python wrapper around the Gromacs tools.

README: GromacsWrapper A primitive Python wrapper around the Gromacs tools. The library is tested with GROMACS 4.6.5, 2018.x, 2019.x, 2020.x, and 2021

Becksteinlab 140 Dec 28, 2022
This is Cool Utility tools that you can use in python.

This is Cool Utility tools that you can use in python. There are a few tools that you might find very useful, you can use this on pretty much any project and some utils might help you a lot and save

Senarc Studios 6 Apr 18, 2022
🔩 Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python standard library. Nothing like Michael Bolton.

Boltons boltons should be builtins. Boltons is a set of over 230 BSD-licensed, pure-Python utilities in the same spirit as — and yet conspicuously mis

Mahmoud Hashemi 6k Jan 04, 2023