danielfvm / shadow

A live and interactive wallpaper "engine" for Linux and Windows. It supports mixing various formats like glsl-shaders, images, videos and GIFs to create an amazing wallpaper. Additionally you can expand it's functionality with scripts.
GNU General Public License v3.0
54 stars 7 forks source link
gif-animation glsl-shaders linux shaders wallpapers wayland windows

Shadow Engine

Repository size GitHub last commit License Stargazers

Shadow Engine stands for Shaders On Wallpaper Engine and it renders a realtime glsl shader on your Linux or Windows desktop. It is compatible with most shaders from glslsandbox.com. Additionally you can put multiple shaders, images, videos and interactive scripts on top of each other to create an amazing looking desktop.

To support different desktop environments and operating systems there are different render modes one can select from:

Features

Installation

$ git clone https://github.com/danielfvm/shadow.git
$ cd shadow
$ poetry install
$ poetry run shadow

After the installation, you can use the program by writing shadow in the terminal. For more information look at the Usage and Examples section.

Usage

usage: shadow [-h] [-q QUALITY] [-s SPEED] [-o OPACITY] [-m MODE] [-d DISPLAY] [-f FRAMELIMIT] [-qm QUALITYMODE] [-width WIDTH] [-height HEIGHT]

options:
  -h, --help            show this help message and exit
  -q QUALITY, --quality QUALITY
                        Changes quality level of the shader, default 1.
  -s SPEED, --speed SPEED
                        Changes animation speed, default 1.
  -o OPACITY, --opacity OPACITY
                        Sets background window transparency, default 1.
  -m MODE, --mode MODE  Changes rendering mode. modes: root, window, background, win10.
  -d DISPLAY, --display DISPLAY
                        Selects a monitor
  -f FRAMELIMIT, --framelimit FRAMELIMIT
                        Set the maximum framerate limit, default 60
  -qm QUALITYMODE, --qualitymode QUALITYMODE
                        Set it to pixelize or smoothen the image at lower quality. default: smooth; modes: pixel, smooth
  -width WIDTH, --width WIDTH
                        Set window width
  -height HEIGHT, --height HEIGHT
                        Set window height

Examples

Shader with framerate limit at 30 and display it as a normal window

shadow example/frag0.glsl -f 30 -m window

Shader with reduced quality (10%) and pixelize

shadow example/frag0.glsl -q 0.1 -qm pixel

Combining images and shaders

shadow path/to/my/image.png example/expandedlife.glsl

Infos

Todos