{"id":13533444,"url":"https://github.com/0bCdian/Waypaper-Engine","last_synced_at":"2025-04-01T21:32:22.972Z","repository":{"id":183917914,"uuid":"656807892","full_name":"0bCdian/Waypaper-Engine","owner":"0bCdian","description":"A wallpaper setter with playlist functionality!","archived":false,"fork":false,"pushed_at":"2025-02-03T15:52:46.000Z","size":17551,"stargazers_count":205,"open_issues_count":5,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-02-03T16:27:00.652Z","etag":null,"topics":["archlinux","electron","hyprland","nodejs","qtile","react","sway","swww","typescript","wallpaper","wayland"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/0bCdian.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":"2023-06-21T17:22:15.000Z","updated_at":"2025-02-03T15:52:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"220f5150-b3f3-4656-857a-1433f9fbf52e","html_url":"https://github.com/0bCdian/Waypaper-Engine","commit_stats":null,"previous_names":["0bcdian/waypaper-engine"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0bCdian%2FWaypaper-Engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0bCdian%2FWaypaper-Engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0bCdian%2FWaypaper-Engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0bCdian%2FWaypaper-Engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0bCdian","download_url":"https://codeload.github.com/0bCdian/Waypaper-Engine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246713401,"owners_count":20821882,"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":["archlinux","electron","hyprland","nodejs","qtile","react","sway","swww","typescript","wallpaper","wayland"],"created_at":"2024-08-01T07:01:19.892Z","updated_at":"2025-04-01T21:32:19.710Z","avatar_url":"https://github.com/0bCdian.png","language":"TypeScript","funding_links":[],"categories":["Customizations","Tools"],"sub_categories":["Linux","Wallpaper"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./readme_files/Waypaper_Engine.png\" width=\"500px\" alt=\"banner\"/\u003e\n\n![GitHub last commit (branch)](https://img.shields.io/github/last-commit/0bCdian/Waypaper-Engine/main?style=for-the-badge\u0026logo=git\u0026color=%2389B482)\n![AUR last modified](https://img.shields.io/aur/last-modified/waypaper-engine?style=for-the-badge\u0026logo=arch-linux\u0026color=%23438287)\n![GitHub Repo stars](https://img.shields.io/github/stars/0bCdian/Waypaper-Engine?style=for-the-badge\u0026logo=github\u0026color=%232AAEA3)\n![Badge Language](https://img.shields.io/github/languages/top/0bCdian/Waypaper-Engine?style=for-the-badge\u0026logo=typescript)\n![Badge License](https://img.shields.io/github/license/0bCdian/Waypaper-Engine?style=for-the-badge\u0026logo=gnu)\n\n### _A wallpaper setter gui, developed with ricing in mind!_ 🍚\n\n**[\u003ckbd\u003e \u003cbr\u003e Why \u003cbr\u003e  \u003c/kbd\u003e](#why)**\n**[\u003ckbd\u003e \u003cbr\u003e How to install \u003cbr\u003e \u003c/kbd\u003e](#install)**\n**[\u003ckbd\u003e \u003cbr\u003e Usage \u003cbr\u003e \u003c/kbd\u003e](#usage)**\n**[\u003ckbd\u003e \u003cbr\u003e TODO \u003cbr\u003e \u003c/kbd\u003e](#todo)**\n**[\u003ckbd\u003e \u003cbr\u003e Gallery \u003cbr\u003e \u003c/kbd\u003e](#gallery)**\n**[\u003ckbd\u003e \u003cbr\u003e Special Thanks \u003cbr\u003e \u003c/kbd\u003e](#special-thanks)**\n\n\u003c/div\u003e\n\n# Features\n\n-   Multi monitor support.\n-   Four different types of playlists (Time of day, daily,interval based or static).\n-   Easy configuration of all [swww](https://github.com/Horus645/swww) options.\n-   Tray controls.\n-   CLI Support.\n-   All of [swww](https://github.com/Horus645/swww) features such as wallpaper change animations and wallpaper persistance through reboots.\n-   Filter images by format, resolution,name,etc.\n-   Run scripts on image set.\n    \u003cbr\u003e\n    \u003cbr\u003e\n\n---\n\n![image](https://github.com/0bCdian/Waypaper-Engine/assets/101421807/40318ad6-aa5a-42c2-98c8-63d988069407)\n\nhttps://github.com/0bCdian/Waypaper-Engine/assets/101421807/4d49225a-cbdc-42a0-af67-aac823c47f98\n\n---\n\n# Why\n\nI started this project for two main reasons, one as a learning oportunity, and two because the available options for a tool like this didn't suit my needs fully. I really like [swww](https://github.com/Horus645/swww) but it lacks a lot of the features that I missed from wallpaper engine in windows, so this is my attempt to bridge that gap a little.\n\n# Install\n\nSimply install from the aur like so:\n\n```bash\nyay -S waypaper-engine\n```\n\nor\n\n```bash\nyay -S waypaper-engine-git\n```\n\nBoth the normal and -git version conflict with each other, so make sure to delete the other with `yay -Rns package_name package_name-debug` before installing either.\n\n## Manual installation\n\nBe advised you will need to run some of the commands with sudo privileges as you will be copying files to protected paths.\n\n1. Clone this repo `git clone git@github.com:0bCdian/Waypaper-Engine.git` or download and extract the zip file\n2. cd into Waypaper-Engine\n3. run `npm run build`\n4. cd into release `cd release`\n5. Optional: if you want to change the tray icon, change the 512x512.png image inside linux-unpacked/resources/icons\n6. Optional: copy the 512x512.png file to the icons system directory `cp linux-unpacked/resources/icons/512x512.png /usr/share/icons/hicolor/512x512/apps/waypaper-engine.png`\n7. copy the whole directory to it's final destination `sudo cp ./linux-unpacked -rt /opt/waypaper-engine`\n8. go back to root dir `cd ..`\n9. cd into cli `cd cli`\n10. copy waypaper-engine file to your $PATH or /usr/bin `sudo cp ./waypaper-engine /usr/bin` or `cp ./waypaper/engine $HOME/.local/bin` be advised, if you do not copy the cli file to /usr/bin, the path you're copying it into must be in your $PATH, read [this](https://askubuntu.com/questions/551990/what-does-path-mean) for more info\n11. go back to root `cd ..`\n12. copy the .desktop file to /usr/share/applications `sudo cp ./waypaper-engine.desktop /usr/share/applications/`\n\nand you're done!\n\n# Usage\n\nSimply start the app and add wallpapers to the gallery, from there you can double click to set the wallpapers or right click for more options, to create playlists simply click on the checkboxes that appear when hover over the images, and configure it, and then save it to auto start it.\n\n# Examples\n\n### Autostart on hyprland just the daemon\n\nAdd to your hyprland.conf the following lines:\n\n```bash\nexec-once=waypaper-engine daemon\n```\n\n### Add scripts to run on each image set\n\n\u003e [!WARNING]\n\u003e Make sure the script in question has execution permissions by using `chmod +x scriptname.sh`\n\u003e Put you bash scripts in this path:\n\n```bash\n$HOME/.waypaper_engine/scripts\n```\n\nThe scripts are always passsed as an argument the path of the image being set, so you can do stuff like this:\n\n![carbon](https://github.com/0bCdian/Waypaper-Engine/assets/101421807/c594babf-198a-47a0-8dce-5fd8d64b862c)\n\nhttps://github.com/0bCdian/Waypaper-Engine/assets/101421807/f454a904-7fa7-4ce9-86e9-f8fbc86e8c2b\n\n# TODO\n\n-   [ ] Add testing.\n-   [ ] Have a ci/cd pipeline.\n-   [x] Implement a logger for errors.\n-   [x] Publish in the aur.\n-   [x] Find a good icon/logo for the app (Thank you [Cristian Avendaño](https://github.com/c-avendano)!).\n-   [ ] Add flatpak support.\n-   [x] Add scripts feature.\n-   [x] Add playlists per monitor.\n\n_If you encounter any problems or would like to make a suggestion, please feel free to open an issue_.\n\n# Gallery\n\n![image](https://github.com/0bCdian/Waypaper-Engine/assets/101421807/d78b9373-daf8-401a-8e85-cd1e286b31ce)\n![image](https://github.com/0bCdian/Waypaper-Engine/assets/101421807/aceae307-7a2a-430e-a357-c710bb660eb7)\n![image](https://github.com/0bCdian/Waypaper-Engine/assets/101421807/c78b7fc9-48a6-4ffa-b07f-a58f73ca91b6)\n![image](https://github.com/0bCdian/Waypaper-Engine/assets/101421807/cb6afa04-b577-46a6-ba53-70fdf304c1b6)\n![image](https://github.com/0bCdian/Waypaper-Engine/assets/101421807/51e2e981-8916-475e-92cd-b33e4a9bbaa5)\n![image](https://github.com/0bCdian/Waypaper-Engine/assets/101421807/495d6702-7ce9-4d5b-9870-5cf0d2aa56bb)\n![image](https://github.com/0bCdian/Waypaper-Engine/assets/101421807/ba5993ff-ea36-4594-bc77-671c082f09c2)\n\n# Special Thanks\n\n**[LGFae](https://github.com/LGFae)** - _for the amazing little tool that swww is !_ ❤️\n\n**[Simon Ser](https://git.sr.ht/~emersion/)** - _for wlr-randr, without it making this work across different wayland wm's would've been a nightmare_ 🥲\n\n**[Cristian Avendaño](https://github.com/c-avendano)** - _for creating the amazing logo!_ 💪\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0bCdian%2FWaypaper-Engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0bCdian%2FWaypaper-Engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0bCdian%2FWaypaper-Engine/lists"}