{"id":18444956,"url":"https://github.com/filipporanza/theme_changer","last_synced_at":"2026-05-03T12:38:43.983Z","repository":{"id":118635725,"uuid":"157123458","full_name":"FilippoRanza/theme_changer","owner":"FilippoRanza","description":"Automatically change your wallpaper folder on KDE desktop ","archived":false,"fork":false,"pushed_at":"2019-04-19T18:21:04.000Z","size":51,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-08T11:04:58.776Z","etag":null,"topics":["desktop-automation","desktop-wallpaper","kde","kde-desktop","kde-plasma-5","linux","python-3","python3","wallpaper","wallpaper-changer","yaml"],"latest_commit_sha":null,"homepage":null,"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/FilippoRanza.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":"2018-11-11T21:35:47.000Z","updated_at":"2019-04-19T18:21:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"8fa28ba1-c729-4102-a179-ed0037de4dc1","html_url":"https://github.com/FilippoRanza/theme_changer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FilippoRanza/theme_changer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FilippoRanza%2Ftheme_changer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FilippoRanza%2Ftheme_changer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FilippoRanza%2Ftheme_changer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FilippoRanza%2Ftheme_changer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FilippoRanza","download_url":"https://codeload.github.com/FilippoRanza/theme_changer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FilippoRanza%2Ftheme_changer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32569714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["desktop-automation","desktop-wallpaper","kde","kde-desktop","kde-plasma-5","linux","python-3","python3","wallpaper","wallpaper-changer","yaml"],"created_at":"2024-11-06T07:04:21.885Z","updated_at":"2026-05-03T12:38:43.944Z","avatar_url":"https://github.com/FilippoRanza.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# theme_changer.py [![Build Status](https://travis-ci.com/FilippoRanza/theme_changer.svg?branch=master)](https://travis-ci.com/FilippoRanza/theme_changer) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/96282d261bc9457398f568e4d18aff85)](https://www.codacy.com/app/FilippoRanza/theme_changer?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=FilippoRanza/theme_changer\u0026amp;utm_campaign=Badge_Grade)\nAutomatically change your wallpaper folder on KDE desktop \n\n## Installation\nTo install this script you have to run, with root privileges, \n*setup.py install* using python3.\n```commandline\n[sudo] python[3] setup.py install\n```\n\n### Requirements\n```commandline\n    Python 3\n    PyYAML \n```\n\nAll those requirements are checked and satisfied  by setup.py\n\n### Configuration\nIn order to work properly *theme_changer.py* need a correct configuration\n1. Create a directory named *'.wallpapers'* in your home directory. \nYou can place your wallpaper collection here or anywhere else.\n2. Create a file named *'config.yml'*  in *~/.wallpapers*\n3. Fill your configuration file your *seasons*\n4. Create a softlink named *'current'* in *~/.wallpapers*. This link should target \nyour current wallpaper directory\n5. Configure KDE to use *~/.wallpapers/current* as wallpaper location\n6. Configure your desktop to autorun *theme_changer.py* at startup. No commands line arguments \nare needed. For example:\n```commandline\n    cd ~/.config/autostart-scripts \n    ln -s $(which theme_changer.py) theme_changer \n``` \n\n#### Dynamic Reconfiguration\nYou can add and remove all season that you want any time you want but before it takes effect you must\nlogout and login to force Plasma to restart. If you run the script during the desktop execution it\nwill break the softlink and crash the slideshow, if this happens you just have to restart KDE(logout-login).\n\n#### Season Configuration\nA *season* is a YAML entry. It have any kind of fantasy name(but NOT 'default')\n and *must* be unique. Inside each season must be present those three entries:\n 1. from *day-month* : defines when a season starts\n 2. to  *day-month* : defines when a season ends\n 3. dir *path*: define *~/.wallpapers/current* during this season.\n\nThere can be any number of *season*, the only *mandatory* season is *default*, that define the behavior\nwhere none of the other season matches.\n\nDefault season has just one entry:\n1. dir *path*: define *~/.wallpapers/current* when none of the other season matches.\n\nRead 'config.yml' for an example configuration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffilipporanza%2Ftheme_changer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffilipporanza%2Ftheme_changer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffilipporanza%2Ftheme_changer/lists"}