BuddhiLW / lazywal

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

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 

Arch Linux AUR

yay -S lazywal-cli

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
COMMANDS
       help              - display help similar to man page format
       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.

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.

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

Showcase

show-case

Installing dependencies (possibilities)

xwinwrap

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

Uses this gist.

{ command -v curl &> /dev/null && curl -s https://gist.githubusercontent.com/BuddhiLW/5f43e75c81a56106d04cea6bbce0a238/raw/1aedf2fedbbe89d2d00e56560a950a8af4bca111/xwinwrap | bash; } || { command -v wget &> /dev/null && 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

About

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

License:MIT License


Languages

Language:Go 93.0%Language:Shell 3.8%Language:Makefile 3.2%