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
Macro recording and metaprogramming in Python

macro-kit is a package for efficient macro recording and metaprogramming in Python using abstract syntax tree (AST).

8 Aug 31, 2022
Abstraction of a Unit, includes convertions and basic operations.

Units Abstraction of a Unit, includes convertions and basic operations. ------ EXAMPLE : Free Fall (No air resistance) ------- from units_test import

1 Dec 23, 2021
Astvuln is a simple AST scanner which recursively scans a directory, parses each file as AST and runs specified method.

Astvuln Astvuln is a simple AST scanner which recursively scans a directory, parses each file as AST and runs specified method. Some search methods ar

Bitstamp Security 7 May 29, 2022
Tool to produce system call tables from Linux source code.

Syscalls Tool to generate system call tables from the linux source tree. Example The following will produce a markdown (.md) file containing the table

7 Jul 30, 2022
A color library based on pokemons colors!

pokepalette A simple pokemon color chooser " This repo is based on CDWimmer/PokePalette and was originated from this tweet. If you don't remember your

Thomas Capelle 5 Aug 30, 2021
A fancy and practical functional tools

Funcy A collection of fancy functional tools focused on practicality. Inspired by clojure, underscore and my own abstractions. Keep reading to get an

Alexander Schepanovski 2.9k Jan 07, 2023
A workflow management tool for numerical models on the NCI computing systems

Payu Payu is a climate model workflow management tool for supercomputing environments. Payu is currently only configured for use on computing clusters

The Payu Organization 11 Aug 25, 2022
Skywater 130nm Klayout Device Generators PDK

Skywaters 130nm Technology for KLayout Device Generators Mabrains is excited to share with you our Device Generator Library for Skywater 130nm PDK. It

Mabrains 18 Dec 14, 2022
A small python library that helps you to generate localization strings for your mobile projects.

LocalizationUtiltiy A small python library that helps you to generate localization strings for your mobile projects. This small script aims to help yo

1 Nov 12, 2021
A functional standard library for Python.

Toolz A set of utility functions for iterators, functions, and dictionaries. See the PyToolz documentation at https://toolz.readthedocs.io LICENSE New

4.1k Dec 30, 2022
Produce a simulate-able SDF of an arbitrary mesh with convex decomposition.

Mesh-to-SDF converter Given a (potentially nasty, nonconvex) mesh, automatically creates an SDF file that describes that object. The visual geometry i

Greg Izatt 22 Nov 23, 2022
Kanye West Lyrics Generator

aikanye Kanye West Lyrics Generator Python script for generating Kanye West lyrics Put kanye.txt in the same folder as the python script and run "pyth

4 Jan 21, 2022
A simple Python app that generates semi-random chord progressions.

chords-generator A simple Python app that generates semi-random chord progressions.

53 Sep 07, 2022
Python program for analyzing the output files of phonopy.

PhononTools Description Python program to analyze the results generated by phonopy. Using the .yaml and .dat files that phonopy generates one can plot

Harry LaBollita 8 Nov 27, 2022
About Library for extract infomation from thai personal identity card.

ThaiPersonalCardExtract Library for extract infomation from thai personal identity card. imprement from easyocr and tesseract New Feature v1.3.2 🎁 In

ggafiled 26 Nov 15, 2022
Entropy-controlled contexts in Python

Python module ordered ordered module is the opposite to random - it maintains order in the program. import random x = 5 def increase(): global x

HyperC 36 Nov 03, 2022
A simulator for xkcd 2529's weirdly concrete problem

What is this? This is a quick hack implementation of a simulator for xkcd 2529's weirdly concrete problem. This is barely tested and I suck at computa

Reuben Steenekamp 6 Oct 27, 2021
A Tool that provides automatic kerning for ligature based OpenType fonts in Microsoft Volt

Kerning A Tool that provides automatic kerning for ligature based OpenType fonts in Microsoft Volt There are three stages of the algorithm. The first

Sayed Zeeshan Asghar 6 Aug 01, 2022
Export watched content from Tautulli to the Letterboxd CSV Import Format

Export watched content from Tautulli to the Letterboxd CSV Import Format

Evan J 5 Aug 31, 2022
Random Number Generator

Application for generating a random number.

Michael J Bailey 1 Oct 12, 2021