Most Advance Cross Platform Desktop Screen Wall Manipulation Program written in python.
Extremely lightweight without the need of any third party packages.
Python 3.5 or above is required to run to run the program.
- Clone or download the zip archive from github repo.
- Extract or cd into the project folder and run
python setup.py
# TODO HERE
[debendra@debendra-pc ~]$ git clone https://github.com/debendraoli/auto_wall.git
[debendra@debendra-pc ~]$ cd auto_wall
[debendra@debendra-pc ~/auto_wall]$ python setup.py
- Interactive command line interface.
- Random image selection from local directory.
- Fully plug and play api support, without touching the code.
- Support for any operating system that supports python. Basically Cross Platform.
- Fully (100%) customizable from configuration. (avoiding the coding mess.)
- Remote search query.
Lets assume we have number of pictures on /home/debendra/Pictures/Wallpapers
$ auto_wall --image /home/debendra/Pictures/Wallpapers
Default wallpaper directory specified in config.json
will be used if no image source is supplied.
Well auto_wall
can interact with external any image hosting sites that exists on the WWW, api are fully pluggable from
configuration. (I can say this is the best feature.) :-)
You can configure any numbers of image provider just modifying the configuration files without the need to
touch the code but the least JSON
knowledge is required :-).
Image provider must support api endpoint in order to support the external fetch.
- Create or login into image provider app/website and get auth/access token if required.
- Paste auth/access token in
config.json
file to the header subsection ofremotes
's section. - Inspect the response body and supply the appropriate
key/pairs
to theextarct_keys
sub-section ofremotes
's section.
Currently pexels and unsplash are already configured.
$ auto_wall --image unsplash
Above command will fetch the images from the unsplash api and apply to both screens action. (background, lock screen)
Specific screen action can be omitted.
Supply argument as --no-wall
for wallpaper and no-lock-screen
for screen saver/lock.
$ auto_wall --image /home/suraj/bikini_girls --no-lock-screen
:-(
Above command will randomly select one image from the path specified and neglect the screen saver/lock.
You can also search your desired images.
$ auto_wall --image pexels --query nature
Above command will fetch images from the pexels api based on search query and apply accordingly. As we don't have neglected any screen, two images will be downloaded.
As I yield that program is cross platform, accordingly I have provided some sort of flexibility as well.
Number of placeholders are available for configurations.
%home_dir%
: can be used for the user's home directory.%sep%
: directory separator.%_%
: for spaces.%image%
: pass image path as argument to the OS command.
Placeholders are case-insensitive.
Supply auto_wall --help
for more.
Bugs/issues/Ideas can be dropped in issues section. It really helps.
I would really appreciate if someone puts efforts to support MS Windows.
I don't have MS Windows to tests. Windows needs special configuration
because it does not support other than the .bmp
format, probably on coding level to convert
to .bmp
format.
I have tested on linux xfce4 and gnome DE and it runs fine on them, I will collect configurations
required to operate on others too, you can also support as your requirements.
All the commands required for OS can be configured from oses.json
.
Also I would welcome any contribution. :-)
I have a reason not to organize the code and make it readable, the idea was to make portable as possible,
so it can be really helpful for bashing
things. Little dirty though. :-)
PS: This program can be really useful for educational purpose, might not so useful for everyone though. :-)