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

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 93.0%
  • Shell 3.8%
  • Makefile 3.2%