Giter Club home page Giter Club logo

wallpaper-changer's Introduction

WallPaper-Changer 🖼️

Description ⛈️

This Powershell script changes your desktop wallpaper based on the weather.

This is a re-implementation of https://github.com/yangman946/WallPaperChanger in pure Powershell.

Dependencies ⚡

  • Powershell 7.2 or newer
  • Your own api key for openweather: https://openweathermap.org/api
    • This api key must be in a file at: src/config/config.properties with a single line like: app.api-key=<YOUR-API-KEY>
    • You will be prompted for your api key the first time the application is run and the file will be created automatically

Note: This version does not support the original overlay of current time, weather forecast etc. Instead an application like Rainmeter can be used to achieve this effect.

Running

  • Run file from powershell or set up a scheduler to run it periodically

Scheduled runs

  1. In the windows task scheduler create a new task, give it a suitable name.
  2. Under Triggers add the event you want to trigger the script (e.g. logon, unlock or hourly). Note that is you want an hourly run that this is set up as daily at a given time, recur every 1 days and in the advanced settings below repeat the task every 1 hour
  3. in Actions set the program to the powershell.exe you want to execute. Note that there can be multiple versions of powershell in a windows system. Try to look for this path: "C:\Program Files\PowerShell\7\pwsh.exe"
  4. In Add Arguments add: -File .\Wallpaper-Changer.ps1 and in the Start in field insert the path to the directory where the Wallpaper-Changer.ps1 script is located.

Customising Wallpapers ✏️

Currently, the Wallpaper-Changer.ps1 script supports the following weather states for both day and night:

  • Clear
  • Mist (cloudy)
  • Rain
  • Thunder
  • Snow

You will find separate pairs of folders for each weather condition (day and night). These folders contain jpeg images (3936x2624 pixels) each labeled from 1 to the number of images in the folder. You can add/remove any image you want to in the existing folders.


Contributing 👍

  1. Fork it (https://github.com/your-github-user/wallpaper-changer/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

wallpaper-changer's People

Contributors

lillevang avatar

Stargazers

 avatar

Watchers

 avatar

wallpaper-changer's Issues

replace local assets with api

Some API could be identified that provide the images (or could be created in a separate project) - then the update simply asks the api for a new image that fits the criteria.
It should not download images over and over again. Instead it should check if the image has already been downloaded and use the local version in that case.

cache api-response

Especially useful for development purposes, since the API has a daily limit on number of requests.
If the API has been called within the last hour it should simply use the local copy of the required data instead.

Automatic scheduler setup

On the first run of the program the user should be prompted for if the program should be run by the windows scheduler.

Make location customizeable

Currently the weather api only asks for a single location. Just as the program prompts for the api key on the first run it should prompt the user for location and country-code and put this in the property file.

Write guides

Write guides for:

  1. Running manually
  2. First time running
  3. Setting up scheduler

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.