{"id":13341321,"url":"https://github.com/danielfvm/shadow","last_synced_at":"2025-04-30T15:30:30.487Z","repository":{"id":39949154,"uuid":"288454445","full_name":"danielfvm/shadow","owner":"danielfvm","description":"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.","archived":false,"fork":false,"pushed_at":"2024-03-26T17:24:33.000Z","size":7489,"stargazers_count":54,"open_issues_count":4,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-24T08:29:56.961Z","etag":null,"topics":["gif-animation","glsl-shaders","linux","shaders","wallpapers","wayland","windows"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielfvm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-18T12:49:28.000Z","updated_at":"2024-10-12T12:20:04.000Z","dependencies_parsed_at":"2024-03-26T18:44:00.566Z","dependency_job_id":null,"html_url":"https://github.com/danielfvm/shadow","commit_stats":null,"previous_names":["danielfvm/shadow"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielfvm%2Fshadow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielfvm%2Fshadow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielfvm%2Fshadow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielfvm%2Fshadow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielfvm","download_url":"https://codeload.github.com/danielfvm/shadow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224214631,"owners_count":17274647,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gif-animation","glsl-shaders","linux","shaders","wallpapers","wayland","windows"],"created_at":"2024-07-29T19:25:24.210Z","updated_at":"2024-11-12T04:18:34.735Z","avatar_url":"https://github.com/danielfvm.png","language":"Python","readme":"# Shadow Engine\n![Repository size](https://img.shields.io/github/repo-size/danielfvm/shadow?color=39d45f) \n[![GitHub last commit](https://img.shields.io/github/last-commit/danielfvm/shadow?color=39d45f)](https://github.com/danielfvm/shadow/commits/master) \n![License](https://img.shields.io/badge/license-GPL-39d45f) \n[![Stargazers](https://img.shields.io/github/stars/danielfvm/shadow?color=39d45f\u0026logo=github)](https://github.com/danielfvm/shadow/stargazers)\n\nShadow 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](http://glslsandbox.com/). Additionally you can put multiple shaders, images, videos and interactive scripts on top of each other to create an amazing looking desktop.\n\nTo support different desktop environments and operating systems there are different render modes one can select from:\n\n* background (Linux only):\nThe Shadow window is being set to the background using a `typehint`. This might not be supported by your window manager (e.g. i3), but works on most desktop environments (Gnome, Xfce, Awesome, KDE, ...)\n\n* root (Linux only):\nShadow will render the shader on the X11 root window. This mode has a lot of cpu usage and wont work in most desktop environments. This is only advised if the `background` mode does not work for you. Use this mode for window managers like i3wm.\n\n* window:\nThis mode might be useful for shader developers. Shadow will create a normal window displaying the effect.\n\n* win10 (Windows only):\nThis mode spawns a window behind the desktop icons. This is the default mode for Windows. This mode has only been tested on Windows 10 and might therefore not work on newer or older versions. \n\n## Features\n* Compatible with [glslsandbox.com](http://glslsandbox.com/)\n* 4 different render modes, supporting Linux \u0026 Windows\n* Change speed \u0026 quality level\n* Mixing shaders, images and scripts together (see Examples)\n* Opacity on wallpaper\n* Mouse position support\n* gif support\n* mp4 support\n* jpg/png support\n* expandable with own python scripts (still work in progress)\n\n## Installation\n```\n$ git clone https://github.com/danielfvm/shadow.git\n$ cd shadow\n$ poetry install\n$ poetry run shadow\n```\nAfter the installation, you can use the program by writing `shadow` in the terminal. For more information look at the `Usage` and `Examples` section.\n\n## Usage\n```\nusage: shadow [-h] [-q QUALITY] [-s SPEED] [-o OPACITY] [-m MODE] [-d DISPLAY] [-f FRAMELIMIT] [-qm QUALITYMODE] [-width WIDTH] [-height HEIGHT]\n\noptions:\n  -h, --help            show this help message and exit\n  -q QUALITY, --quality QUALITY\n                        Changes quality level of the shader, default 1.\n  -s SPEED, --speed SPEED\n                        Changes animation speed, default 1.\n  -o OPACITY, --opacity OPACITY\n                        Sets background window transparency, default 1.\n  -m MODE, --mode MODE  Changes rendering mode. modes: root, window, background, win10.\n  -d DISPLAY, --display DISPLAY\n                        Selects a monitor\n  -f FRAMELIMIT, --framelimit FRAMELIMIT\n                        Set the maximum framerate limit, default 60\n  -qm QUALITYMODE, --qualitymode QUALITYMODE\n                        Set it to pixelize or smoothen the image at lower quality. default: smooth; modes: pixel, smooth\n  -width WIDTH, --width WIDTH\n                        Set window width\n  -height HEIGHT, --height HEIGHT\n                        Set window height\n```\n\n## Examples\n#### Shader with framerate limit at 30 and display it as a normal window\n```\nshadow example/frag0.glsl -f 30 -m window\n```\n\n#### Shader with reduced quality (10%) and pixelize\n```\nshadow example/frag0.glsl -q 0.1 -qm pixel\n```\n\n#### Combining images and shaders\n```\nshadow path/to/my/image.png example/expandedlife.glsl\n```\n\n## Infos\n* Opacity doesn't work on Wayland and Windows 10.\n* Use `root` mode on i3wm\n* Use the `--quality` option to save resources / gain more performance\n\n## Todos\n- [ ] Rework `README.md` file to show examples with gifs\n- [ ] GUI for configuring shadow without terminal (and having presets)\n- [ ] Packages/Releases - Installation file for Windows\n- [ ] Testing shadow on win11\n- [ ] An extension based on Hanabi for better Gnome support\n- [ ] Fix mouse translations (sth related to projection matrix)\n","funding_links":[],"categories":["Themes 🎭"],"sub_categories":["Live Wallpapers"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielfvm%2Fshadow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielfvm%2Fshadow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielfvm%2Fshadow/lists"}