Skip to content

Change your wallpaper to the most upvoted image of the day from /r/wallpaper or any other subreddit on system startup

License

Notifications You must be signed in to change notification settings

federicotorrielli/Daily-Reddit-Wallpaper

 
 

Repository files navigation

Daily Reddit Wallpaper

Build Status

This script changes your wallpaper to most upvoted image of the day on /r/wallpaper or from any other subreddit.

Run it on startup for new wallpaper on every session.

Supported: Linux (gnome, kde, mate, lxde), Windows and OS X

Dependencies

Make sure you have Python3 installed and PATH variable set.

Ubuntu

If you don't have pip for Python:

sudo apt-get install python-pip

You will need modules requests and praw installed, which are in requirements.txt:

pip install -r requirements.txt

Arch

If you don't have pip for Python:

pacman -S python-pip

or, with yay:

yay -S python-pip

Then just install the requirements.txt with:

pip install -r requirements.txt

Windows

Follow this guide to install pip and configure PATH variable. The rest is the same.

Using script

First, you'll need to configure the credentials.json file with your personal Reddit API. Your api_key will be the Reddit API secret and your client_id the first and smaller code:

Reddit API

Then, in the current project folder, run:

python change_wallpaper_reddit.py

If you wanna use other subreddit, include argument with the subreddit name:

python change_wallpaper_reddit.py --subreddit art

If you don't want to change your wallpaper daily, you can use hourly, weekly, monthly or yearly wallpaper too by adding one of the following arguments: hour, week, month, year to the script.

Example:

python change_wallpaper_reddit.py --time week

If you want to choose which wallpaper appears, you can sort posts by adding the arguments: hot, top, new to the script.

Example:

python change_wallpaper_reddit.py --sort top

NSFW images are disabled by default, to enable them add --nsfw.

On OS X, you can specify display number with option --display. Use 0 for all display (default), 1 for main display and so on.

To change default location where image will be saved, use --output folder/subfolder.

Running on startup

Ubuntu

To make managment of the script simple, we can accomplish this using built-in Startup Applications.

Startup Applications

Click on Add.

Add new startup command

Note: you can use --subreddit and --time arguments here aswell.

Windows

We will be using Task Scheduler for this. You can find it in Windows search. Once you open it, click on Create Basic Task Follow the procedure.

Procedure

Procedure

Procedure

Procedure

In Add arguments field type the location of the script. Example

"D:\change_wallpaper_reddit.py"

or

"D:\change_wallpaper_reddit.py" --subreddit art --time week

Running every minute or hour

Look into using cronjobs on Linux or Task Scheduler on Windows for performing this.

Configuration file

Instead of writing arguments every time you run the script, you can also use configuration file which should be located at ~/.config/change_wallpaper_reddit.rc.

Example of configuration file:

subreddit=art
time=day
sort=top

About

Change your wallpaper to the most upvoted image of the day from /r/wallpaper or any other subreddit on system startup

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%