Skip to content

CLI to facilitate the use of video-loops as desktop background

License

Notifications You must be signed in to change notification settings

BuddhiLW/lazywal

 
 

Repository files navigation

Table of Contents

For more documentation and examples of integration with other systems (Editor, Window Manager etc.) see the wiki: https://github.com/BuddhiLW/lazywal/wiki.

Showcase

show-case

Lazywal (Go rewrite of lazywal-cli)

Lazywal: a terminal client to setup animated (video-loop) wallpapers as the desktop background. It has some extra-features, like pywal native integration, for the flashy - like me.

Compatible with any OS that uses X-server.

Setup

Dependencies:

(Probably your favorite OS will have these in the package-manager listings)

Optional -- native integration:

See Installing dependencies (possibilities) for Linux and MacOS.

Universal install

make install PREFIX=$HOME/.local

Using Go

go install github.com/BuddhiLW/lazywal/cmd/lazywal@latest 

Installing dependencies (possibilities)

xwinwrap

This one-liner will install xwinwrap either with curl or wget (but not both).

Uses this gist.

With curl:

curl -sSL https://gist.githubusercontent.com/BuddhiLW/5f43e75c81a56106d04cea6bbce0a238/raw/1aedf2fedbbe89d2d00e56560a950a8af4bca111/xwinwrap | bash

With wget:

wget -qO- https://gist.githubusercontent.com/BuddhiLW/5f43e75c81a56106d04cea6bbce0a238/raw/1aedf2fedbbe89d2d00e56560a950a8af4bca111/xwinwrap | bash

ffmpeg, mpv (with brew or apt-get)

brew install ffmpeg mpv
sudo apt-get install ffmpeg mpv

Pywal (with pip) -- Optional

pip install pywal

Autocompletion

To add auto-completion, you have to add complete -C lazywal lazywal at .bashrc.

The following script adds it, if it doesn't find the comment "<< lazywal autocompletion <<<<".

bash ./auto-completion.bash

Runs:

#!/bin/bash

# Define the comment and the lines to add
COMMENT="# << lazywal autocompletion <<<<"
LINE1="complete -C lazywal lazywal"

# Check if the comment already exists in .bashrc
if ! grep -Fxq "$COMMENT" ~/.bashrc; then
    # If the comment does not exist, add the comment and the autocompletion line
    echo "$COMMENT" >> ~/.bashrc
    echo "$LINE1" >> ~/.bashrc
else
    echo "Auto-completion already added in ~/.bashrc"
fi

Usage

For help

lazywal help
NAME
       lazywal - Lazywal: a terminal client to facilitate setting up video-loops/gifs as background.

SYNOPSIS
       lazywal COMMAND

COMMANDS
       help                      - display help similar to man page format
       conf                      - manage conf in /home/jacobi/.config/lazywal/config.yaml
       var                       - cache variables in /home/jacobi/.cache/lazywal/vars
       set-path|path|set         - Renders the file in <path> as wallpaper with specified display dimension.
       kill|clear                - Kill all process related with 'xwinwrap' that may be hanging.
       update-pywal|colors|pywal - Update pywal scheme to use a random frame from the loop.
       dependencies|test         - Test to see if all dependencies are available in your system.

DESCRIPTION
       Lazywal: a terminal client to help setup video-loops/gifs as background.

       You can use the following commands:

       * lazywal set path            (Tries to get first-display screen-size automatically)
       * lazywal set path display WxH  (Width x Height - e.g. 1440x1080, 2560x1080 etc.)
       * lazywal kill                  (Kills all _xwinwrap_ processes running.)

       Note: path should be the path to the video-loop file.

       See the README.md for more information and examples, or use *_command-tree_ help* to see another man-page about the specific command-tree.

CONTACT
       Site:   buddhilw.com
       Source: [email protected]/BuddhiLW/lazywal.git
       Issues: github.com/BuddhiLW/lazywal/issues

LEGAL
       lazywal (v1.0.3) Copyright 2021-2024 Zayac-The-Engineer, 2024 Pedro G. Branquinho (Go version)
       License MIT License

Pywal

If you add pywal at the end of your command, then the lazywal binary will use wal command to update your X-server color-scheme.

lazywal set /path/to/file display 1920x1080 pywal

About

CLI to facilitate the use of video-loops as desktop background

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.0%
  • Shell 2.7%
  • Makefile 2.3%