muro

command module
v1.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2023 License: MIT Imports: 4 Imported by: 0

README

Muro

Wallpaper for bare X11 and tiling window managers.

Introduction

In Esperanto muro means wall. The muro app provides wallpapers for tiling window managers. What is it good for in comparison to other packages?

  1. It allows the use of any image without distortion as a background, not just images of a specific size. If multiple screens with different resolutions or orientations are connected, the wallpaper image will be fully displayed and without distortion on all of them.

  2. It decreases the contrast between a wallpaper image and its 'empty' background. The background can be filled with either a blurred version of the image itself or an average color of the image. This is especially useful when transparency is enabled for terminal windows. With reduced contrast, it is easier to work in a terminal window.

  3. If a user wants to use a small image as tiles for wallpaper borders, it is possible as well.

Blurred background Average background

It also supports more traditional custom background color, and other fitting options, like stretch, fill, center, tile.

It is quite performant and can comfortably deal with a hundred thousands of images located in hundreds of subdirectories.

Prerequisites

Muro depends on xargs and feh packages.

Installation

Download the latest release binary file, uncompress, and place the executable muro file somewhere in the PATH.

Arch Linux AUR package

AUR package is located at https://aur.archlinux.org/packages/muro. Install it by hand, or with AUR helpers like yay or pacaur.

yay -S muro
# or
pacaur -S muro

Configuration

When muro runs for the first time, it will create a configuration file, usually at ~/.config/muro.yaml. Edit this file to change default options.

Usage

To use default settings.

muro

To get help

muro -h

To clear history.

muro -C

To change background for proportionally scaled images.

# blur image itself for the background
muro -b blur

# use average color of the image as a background
muro -b average

# use a default tile
muro -b tile

# provide a custom background image for tiling
muro -b -t /path/to/tile.png

# set a custom #AAFFAA background color
muro -b rgb --bg-color afa
muro -b rgb --bg-color aaffaa

By default images are picked recursively in a random order. There are several options to change how images are selected.

## to pick just one image
muro -p ~/Pictures/wallpapers/img1.jpg

## to not do recursive selection
muro --not-recursive

## pick the next image using ascending or descending order
muro -s name
muro -s name-desc

To show the last image from cache.

muro -l
Setting up wallpaper for a window manager

Muro sets wallpaper once and then exits. To change wallpaper regularly run

muro -l at the start of a window manager session, and set

muro or muro -s name as a cron job or systemctl --user timer.

Here is an example of a systemd timer

Changing to a random point for wallpaper sequence

Running muro command without flags would change a starting point to a random image. If a cronjob or timer triggers muro -s name command, the images will continue in a sequence from this new "seed".

Use in a Go program
import (
	"log"

	muro "codeberg.org/dimus/muro/pkg"
	"codeberg.org/dimus/muro/pkg/config"
)

func main() {
	cfg := config.New(config.OptImgPath("~/Pictures/wallpapers1"))
	mr := muro.New(cfg)
	path, err := mr.GetImagePath()
	if err != nil {
		log.Fatal(err)
	}
	err = mr.WallpaperImage(path)
	if err != nil {
		log.Fatal(err)
	}
}

Other wallpaper projects for X11 and Wayland

feh

swaybg

nitrogen

wallutils

License

The muro project is released under the MIT license.

Documentation

Overview

Copyright © 2022 Dmitry Mozzherin <dmozzherin@gmail.com>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Directories

Path Synopsis
internal
pkg
ent

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL